MultiPicker

fun <T> MultiPicker(items: List<Set<T>>, itemText: (Int, T) -> String = { _, item -> item.toString() }, textStyle: TextStyle = AppText.Normal.Title.default, selectedItems: List<T> = items.map { it.first() }, onValueChange: (List<T>) -> Unit = {})

多列滚轮选择器 将多个 Picker 横向等宽排列,每列独立滚动,共同构成多维度的选择结果

Parameters

items

List> 每列的可选项列表,列表长度决定列数

itemText

(Int, T) -> String 将选项转换为显示文字的函数,第一个参数为列索引(从 0 起),第二个参数为该列的选项,默认调用 toString()

textStyle

TextStyle 所有列共用的选项文字样式,默认 AppText.Normal.Title.default

selectedItems

List 各列当前选中项的列表,长度须与 items 一致,默认每列取第一项

onValueChange

(List) -> Unit 任意列选中项变更后的回调,参数为所有列最新选中项组成的完整列表,默认无操作