splitList method

Widget splitList({
  1. required List list,
  2. required void setState(
    1. void ()
    ),
})

Tapping a chip toggles its visibility state.

Implementation

Widget splitList(
    {required List list, required void Function(void Function()) setState}) {
  return SizedBox(
    width: double.infinity,
    child: list.isEmpty
        ? Text(hint, style: theme.hintTextStyle)
        : Wrap(
            direction: Axis.horizontal,
            alignment: WrapAlignment.start,
            spacing: 0.0,
            runSpacing: 2,
            children: [
              ...List.generate(
                  list.length,
                  (index) => Padding(
                        padding: const EdgeInsets.only(right: 2.0),
                        child: Container(
                            padding: const EdgeInsets.only(
                                left: 5, right: 5, top: 2, bottom: 2),
                            decoration: slctItemDecoration ??
                                BoxDecoration(
                                    color: theme.multiSelectItemBgColor ??
                                        const Color(0xFFB0E0E6),
                                    borderRadius: BorderRadius.circular(5)),
                            child: Row(
                              mainAxisSize: MainAxisSize.min,
                              children: [
                                Flexible(
                                  child: Text(getText(list[index]),
                                      style: theme.valueTextStyle),
                                ),
                                InkWell(
                                  onTap: () {
                                    setState(() {
                                      isSelected(list[index])
                                          ? removeItem(list[index])
                                          : addItem(list[index]);
                                    });
                                    if (onChanged != null) onChanged!(label);
                                  },
                                  child: Icon(Icons.close,
                                      size: 18,
                                      color: slctItemIconColor ??
                                          const Color(0xFFFF3B30)),
                                ),
                              ],
                            )),
                      ))
            ],
          ),
  );
}