flutter - 如何从颤动的选项列表中制作清单?
问题描述
样本数据:
var electricianmulti = [
new Multimodel(
question: "What services are you looking for?",
options: ["Complete wiring", "switches", "water motor", "MCB & fuse"],
new Multimodel(
question: "What time of the day do you prefer?",
options: ["Early Morning", "Morning", "Afternoon", "Evening"],];
我正在从 listview.generate 制作复选框,如下所示 -
children: <Widget>[
...List.generate(
electricianmulti[i].options.length,
(index) => Container(
padding: EdgeInsets.all(5),
margin: EdgeInsets.all(10),
child: CheckboxListTile(
// controlAffinity: ListTileControlAffinity.leading,
title: new Text(
electricianmulti[i].options[index].toString(),
style: optionstxt,
),
value:isselected,
activeColor: Colors.blue,
checkColor: Colors.white,
onChanged: (bool value) {
setState(() {
isselected=value
});
},
这段代码就像我点击任何一个框都被选中一样。我尝试制作一个 bool 数组并根据它进行更新,'i'
但它似乎也不起作用。我在这里做错了什么?
解决方案
value: isselected
采用单个布尔值并将其分配给所有复选框。将 isselected 更改为布尔值列表,然后使用
value: isselected[i];
同样在 setState 中,使用
isselected[i] = value;
确保 isselected 的长度等于复选框的数量。
推荐阅读
- python-3.x - 用作 .grid_forget() 的可变内容
- javascript - 用 jest 模拟其他模块中的函数依赖关系
- php - 将值传递给另一个类 php
- java - 需要在一个 git 存储库中调用两个分支
- amazon-web-services - 每次我在 Cloudflare 后面运行代码时都会出现 520 错误
- ms-word - 如何在文档正文中使用 Office.js 插入表格时添加合并字段
- post - 如何放心地使用 pojo 和 lombok builder 构建请求主体
- typeorm - 是否可以使用 Typeorm 进行完全连接?
- json - 在 Mule 中使用 Dataweave 读取数组值
- html - 为什么 ul 元素的填充区域和 CSS 中的子元素分开?