Carousel

在一组内容卡片中翻页。

实时预览

正在加载预览…

参数配置

全部字段 12

CarouselItems

列表项 · 3
CarouselItem
CarouselItem
CarouselItem

CarouselOptions

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.Carousel(c.Key("carousel"), t, &s.Carousel, []nui.CarouselItem{{ID: "one", Label: "One", Build: func(c *ui.Context, t nui.Theme) {
	nui.Card(c.Key("card"), t, nui.CardOptions{Title: "Design"}, func() { ui.Text(c, "Start with a focused idea.") })
}}, {ID: "two", Label: "Two", Build: func(c *ui.Context, t nui.Theme) {
	nui.Card(c.Key("card"), t, nui.CardOptions{Title: "Build"}, func() { ui.Text(c, "Compose native Go components.") })
}}, {ID: "three", Label: "Three", Build: func(c *ui.Context, t nui.Theme) {
	nui.Card(c.Key("card"), t, nui.CardOptions{Title: "Share"}, func() { ui.Text(c, "Publish your work.") })
}}}, nui.CarouselOptions{Label: "Slides", Height: 180, Orientation: nui.Horizontal, Arrows: nui.Optional[bool]{}, Dots: true, Wrap: false})

使用说明

使用箭头或圆点在三张卡片之间切换,再比较纵向与循环模式。CarouselState 保存当前位置,卡片使用稳定 ID,Build 只负责当前布局。

API 参考

Carousel

源码
func Carousel(c *ui.Context, t Theme, s *CarouselState, items []CarouselItem, o CarouselOptions) ui.Element

CarouselOptions

源码
type CarouselOptions struct {
	Label    string
	Height   float32
	Active   Optional[bool]
	Autoplay time.Duration
	// Wrap wraps explicit/automatic next and previous actions; drag stays bounded.
	Wrap        bool
	Orientation Orientation
	Arrows      Optional[bool]
	Dots        bool
	OnChange    func(int)
	Decoration
}
字段类型说明
Labelstring

Go 零值: ""

控件标签或可访问名称。

Heightfloat32

Go 零值: 0

高度,单位为 DIP。

ActiveOptional[bool]

Go 零值: unset

控制激活状态或动态效果是否运行。

Autoplaytime.Duration

Go 零值: 0

自动翻页的间隔;零表示不自动翻页。

Wrapbool

Go 零值: false

到边界时允许翻页回到另一端。

OrientationOrientation

Go 零值: zero value

水平或垂直方向;未设置时使用组件默认方向。

ArrowsOptional[bool]

Go 零值: unset

显示翻页箭头。

Dotsbool

Go 零值: false

显示分页指示点。

OnChangefunc(int)

Go 零值: nil

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

UIStyles

Go 零值: zero value

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

Stylefunc(Slot, ui.Element)

Go 零值: nil

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