SinglePickerSheetBuilder

class SinglePickerSheetBuilder<T>(title: String = "请选择", items: Set<T>, itemText: (T) -> String = { it.toString() }, textStyle: TextStyle = AppText.Normal.Title.default, selectedItem: T = items.first(), cancelText: String = "取消", confirmText: String = "确定", onCancelClick: suspend CoroutineScope.() -> Boolean = { true }, onConfirmClick: suspend CoroutineScope.(T) -> Boolean = { true }) : SheetBuilder

单列滚轮选择器底部弹窗构建器

从底部弹出的单列滚轮选择面板,包含标题栏(取消/确定按钮)和单列滚轮选择器。 适用于从一组选项中选择单个值的场景。 确认后通过 onConfirmClick 回调返回选中项。

Author

d10ng

Parameters

title

标题文字,默认 "请选择"

items

可选项集合,要求非空

itemText

选项文本转换函数,默认调用 toString()

textStyle

选项文字样式,默认 AppText.Normal.Title.default

selectedItem

当前选中的项,默认为第一项

cancelText

取消按钮文字,默认 "取消"

confirmText

确定按钮文字,默认 "确定"

onCancelClick

取消按钮点击回调,返回 true 则自动关闭弹窗

onConfirmClick

确定按钮点击回调,参数为选中项,返回 true 则自动关闭弹窗

Type Parameters

T

选项数据类型

Constructors

Link copied to clipboard
constructor(title: String = "请选择", items: Set<T>, itemText: (T) -> String = { it.toString() }, textStyle: TextStyle = AppText.Normal.Title.default, selectedItem: T = items.first(), cancelText: String = "取消", confirmText: String = "确定", onCancelClick: suspend CoroutineScope.() -> Boolean = { true }, onConfirmClick: suspend CoroutineScope.(T) -> Boolean = { true })

Properties

Link copied to clipboard
Link copied to clipboard
var topMargin: @Composable () -> Dp
Link copied to clipboard
val visibleFlow: MutableStateFlow<Boolean>

Functions

Link copied to clipboard
open override fun Build()

构建弹窗内容

Link copied to clipboard
fun dismiss()

隐藏弹窗

Link copied to clipboard
fun SheetBuilder.TitleBar(title: String = "请选择", cancelText: String = "取消", confirmText: String = "确定", onCancelClick: suspend CoroutineScope.() -> Boolean = { true }, onConfirmClick: suspend CoroutineScope.() -> Boolean = { true })

弹窗标题栏