showMultiPicker static method

void showMultiPicker(
  1. BuildContext context, {
  2. required List<List> data,
  3. List? selectData,
  4. List? suffix,
  5. PickerStyle? pickerStyle,
  6. MultipleCallback? onChanged,
  7. MultipleCallback? onConfirm,
  8. dynamic onCancel(
    1. bool isCancel
    )?,
  9. bool overlapTabBar = false,
})

通用 多列选择器 无关联

Implementation

static void showMultiPicker(BuildContext context,
    {required List<List> data,
    List? selectData,
    List? suffix,
    PickerStyle? pickerStyle,
    MultipleCallback? onChanged,
    MultipleCallback? onConfirm,
    Function(bool isCancel)? onCancel,
    bool overlapTabBar = false}) {
  if (selectData == null) {
    selectData = [];
  }

  if (pickerStyle == null) {
    pickerStyle = DefaultPickerStyle();
  }
  if (pickerStyle.context == null) {
    pickerStyle.context = context;
  }

  Navigator.of(context, rootNavigator: overlapTabBar)
      .push(MultiplePickerRoute(
    data: data,
    selectData: selectData,
    suffix: suffix,
    pickerStyle: pickerStyle,
    onChanged: onChanged,
    onConfirm: onConfirm,
    onCancel: onCancel,
    // theme: Theme.of(context, shadowThemeOnly: true),
    theme: Theme.of(context),
    barrierLabel: MaterialLocalizations.of(context).modalBarrierDismissLabel,
  ));
}