Calendar

选择公历日期或日期区间。

实时预览

正在加载预览…

参数配置

全部字段 11

CalendarOptions

Styles · 0

Go 代码

Go
// Inside a view; c is *ui.Context, t is nui.Theme.
// Keep s (example state) outside the view. See the complete example.
nui.Calendar(c.Key("calendar"), t, &s.Value, &s.Calendar, nui.CalendarOptions{Label: "Date", Range: false, Disabled: false, Today: nui.Set(nui.Date{Year: 2026, Month: time.November, Day: 2})})

使用说明

选择日期,开启 range 后选择区间两端。示例把“今天”固定为 2026-11-02,方便对照;真实应用可使用自己的当前日期与日期约束。

API 参考

Calendar

源码
func Calendar(c *ui.Context, t Theme, value *DateSelection, s *CalendarState, o CalendarOptions) ui.Element

CalendarOptions

源码
type CalendarOptions struct {
	Label           string
	Range, Disabled bool
	Min, Max        Optional[Date]
	IsDateDisabled  func(Date) bool
	WeekStart       time.Weekday
	Today           Optional[Date]
	OnChange        func(DateSelection)
	Decoration
}
字段类型说明
Labelstring

Go 零值: ""

控件标签或可访问名称。

Rangebool

Go 零值: false

启用日期区间选择。

Disabledbool

Go 零值: false

禁用组件及其交互。

MinOptional[Date]

Go 零值: unset

下界;Optional 可明确指定零。

MaxOptional[Date]

Go 零值: unset

上界或数量上限,具体含义依组件而定。

IsDateDisabledfunc(Date) bool

Go 零值: nil

按日期判断是否禁用的函数。

WeekStarttime.Weekday

Go 零值: zero value

一周开始的星期。

TodayOptional[Date]

Go 零值: unset

用于标记今天的日期覆盖。

OnChangefunc(DateSelection)

Go 零值: nil

值发生变化时通知应用的回调。

UIStyles

Go 零值: zero value

以部件名称为键覆盖外观和间距。

Stylefunc(Slot, ui.Element)

Go 零值: nil

同步配置当前构建的部件;不要保留 Element。