Multi Picker Sheet Builder
class MultiPickerSheetBuilder<T>(title: String = "请选择", items: List<Set<T>>, itemText: (Int, T) -> String = { _, item -> item.toString() }, textStyle: TextStyle = AppText.Normal.Title.default, selectedItems: List<T> = items.map { it.first() }, cancelText: String = "取消", confirmText: String = "确定", onCancelClick: suspend CoroutineScope.() -> Boolean = { true }, onConfirmClick: suspend CoroutineScope.(List<T>) -> Boolean = { true }) : SheetBuilder
多列滚轮选择器底部弹窗构建器
从底部弹出的多列滚轮选择面板,包含标题栏(取消/确定按钮)和多列并排的滚轮选择器。 适用于需要多维度同时选择的场景(如省市区联动、年月日选择等)。 确认后通过 onConfirmClick 回调返回各列选中项组成的列表。
Author
d10ng
Parameters
title
标题文字,默认 "请选择"
items
每列的可选项集合列表,列表长度决定列数,每个 Set 不可为空
item Text
选项文字转换函数,第一个参数为列索引(从 0 起),第二个为选项值
text Style
选项文字样式,默认 AppText.Normal.Title.default
selected Items
各列当前选中项列表,长度须与 items 一致,默认每列取第一项
cancel Text
取消按钮文字,默认 "取消"
confirm Text
确定按钮文字,默认 "确定"
on Cancel Click
取消按钮点击回调,返回 true 则自动关闭弹窗
on Confirm Click
确定按钮点击回调,参数为各列选中项列表,返回 true 则自动关闭弹窗
Type Parameters
T
选项数据类型
Constructors
Link copied to clipboard
constructor(title: String = "请选择", items: List<Set<T>>, itemText: (Int, T) -> String = { _, item -> item.toString() }, textStyle: TextStyle = AppText.Normal.Title.default, selectedItems: List<T> = items.map { it.first() }, cancelText: String = "取消", confirmText: String = "确定", onCancelClick: suspend CoroutineScope.() -> Boolean = { true }, onConfirmClick: suspend CoroutineScope.(List<T>) -> Boolean = { true })