splitList method
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)),
),
],
)),
))
],
),
);
}