我试图从复选框列表中选择一个或多个复选框,我发现最好的选择是使用checkBoxListTile
小部件来实现这一点。
首先,我定义了一个列表,并按如下方式使用小部件:
List<String> _texts = ["google.com", "youtube.com", "yahoo.com", "gmail.com"];
Expanded(
child: ListView(
children: _texts
.map((text) => CheckboxListTile(
title: Text(text),
value: _isChecked,
onChanged: (val) {
setState(() {
_isChecked = val;
});
},
))
.toList(),
),
),
复选框显示良好,但每当我单击一个复选框时,所有复选框都被选中,我如何处理从列表中选择一个或多个复选框?
谢谢
3条答案
按热度按时间bmp9r5qi1#
尝试下面的代码,希望它对你有帮助,我已经尝试了其他方式
仅选中单个复选框:
您的列表:
您的小工具:
完整代码:
结果屏幕-〉
多个复选框选择
您的职能:
您的小工具:
完整示例
结果屏幕-〉
9lowa7mx2#
产出
amrnrhlw3#
CheckboxListTile
中的value
参数是小部件如何知道复选框是否被选中。当你给予所有的小部件相同的value
时,所有的小部件的状态都会改变。你可以保留一个单独的列表来跟踪特定的复选框是否被选中。