flutter - 在对话框中设置复选框模式的状态
问题描述
这是我使用 CheckBoxModal 在对话框中创建复选框列表的示例,但是,单击复选框按钮后,我无法立即获得反映。
这是代码
Container(
height: 180,
child: ListView(
shrinkWrap: false,
physics: NeverScrollableScrollPhysics(),
children: [
Wrap(
crossAxisAlignment: WrapCrossAlignment.center,
alignment: WrapAlignment.center,
children: [
...getinstruction
.map(
(item) => Container(
width: 150,
child: StatefulBuilder(builder: (context, setState) {
return ListTile(
onTap: () {
onItemClicked(item);
},
leading: Checkbox(
value: item.value,
onChanged: (bool? value) {
onItemClicked(item);
},
),
title: Text(item.title),
);
}),
),
)
.toList(),
],
),
]),
);
解决方案
您需要使用setState
它来重建
onChanged: (bool? value) {
setState(() => onItemClicked(item));
},
但是,您需要确保在函数上或函数内item.value
更新。onItemClicked
onChanged
请参阅颤振网站上的示例以了解如何完成
推荐阅读
- go - 使用 golang http.PostForm 进行分布式跟踪
- applescript-objc - 如何使用 Applescript 创建 Popover 视图?
- vb.net - 如何在 vb.net 中的单选按钮选项文本上使用不同的字体样式(粗体和常规)
- r - ggplot 函数不绘制任何图形,但也不会抛出错误
- python - 如何使用 pygame 模块?
- python - Cython 获取 C++ 对象列表的 len
- java - How can I restart a game in Processing?
- php - MYSQL 在屏幕上分段打印日期
- python - 根据条件从数组中选择元素
- java - 向字符串值添加双引号时遇到问题。第二个引号显示远离值