showMultiLinkPicker static method

void showMultiLinkPicker(
  1. BuildContext context, {
  2. required dynamic data,
  3. required int columnNum,
  4. List? selectData,
  5. List? suffix,
  6. PickerStyle? pickerStyle,
  7. MultipleLinkCallback? onChanged,
  8. MultipleLinkCallback? onConfirm,
  9. dynamic onCancel(
    1. bool isCancel
    )?,
  10. bool overlapTabBar = false,
})

多列选择器(有联动)

context 上下文 data 数据源,必须是 Map 类型 columnNum 最大的列数 selectData 初始选中的数据列表 suffix 每列的后缀文本列表 pickerStyle 选择器样式 onChanged 选择器发生变动时的回调 onConfirm 选择器确认时的回调 onCancel 选择器取消时的回调 overlapTabBar 是否覆盖 TabBar

Implementation

static void showMultiLinkPicker(
  BuildContext context, {
  required dynamic data,
  required int columnNum,
  List? selectData,
  List? suffix,
  PickerStyle? pickerStyle,
  MultipleLinkCallback? onChanged,
  MultipleLinkCallback? onConfirm,
  Function(bool isCancel)? onCancel,
  bool overlapTabBar = false,
}) {
  assert(data is Map, 'params : data must Map');

  final style = _initPickerStyle(pickerStyle, context);

  Navigator.of(context, rootNavigator: overlapTabBar).push(
    MultipleLinkPickerRoute(
      data: data,
      selectData: selectData ?? [],
      columnNum: columnNum,
      suffix: suffix,
      pickerStyle: style,
      onChanged: onChanged,
      onConfirm: onConfirm,
      onCancel: onCancel,
      theme: Theme.of(context),
      barrierLabel:
          MaterialLocalizations.of(context).modalBarrierDismissLabel,
    ),
  );
}