Flutter 如何在颤振中动态设置多个复选框并将它们的值合并在一起
我在颤振方面是新手。我在创建包含多个项目的复选框时遇到了一个问题,然后用户还可以从复选框列表中选择多个项目。请帮帮我,伙计们。你们可以试试这个小部件CheckboxListTile: 您可以尝试此小部件CheckboxListTile:Flutter 如何在颤振中动态设置多个复选框并将它们的值合并在一起,flutter,dart,checkbox,dynamically-generated,Flutter,Dart,Checkbox,Dynamically Generated,我在颤振方面是新手。我在创建包含多个项目的复选框时遇到了一个问题,然后用户还可以从复选框列表中选择多个项目。请帮帮我,伙计们。你们可以试试这个小部件CheckboxListTile: 您可以尝试此小部件CheckboxListTile: 这里有一个完整的例子,说明了如何实现它,以及如何将这些价值结合起来 映射是键值对中的数据集合。地图中的数据可以通过其相关键轻松访问。我们将创建一个包含字符串和布尔数据的映射数组。字符串是复选框的名称,布尔值用于确定选中或不选中哪个复选框 import 'pack
这里有一个完整的例子,说明了如何实现它,以及如何将这些价值结合起来 映射是键值对中的数据集合。地图中的数据可以通过其相关键轻松访问。我们将创建一个包含字符串和布尔数据的映射数组。字符串是复选框的名称,布尔值用于确定选中或不选中哪个复选框
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(
centerTitle: true,
backgroundColor: Colors.deepPurple[400],
title: Text("Multiple Checkbox Dynamically"),
),
body: SafeArea(
child : Center(
child:DynamicallyCheckbox(),
)
)
),
);
}
}
class DynamicallyCheckbox extends StatefulWidget {
@override
DynamicallyCheckboxState createState() => new DynamicallyCheckboxState();
}
class DynamicallyCheckboxState extends State {
Map<String, bool> List = {
'Egges' : false,
'Chocolates' : false,
'Flour' : false,
'Fllower' : false,
'Fruits' : false,
};
var holder_1 = [];
getItems(){
List.forEach((key, value) {
if(value == true)
{
holder_1.add(key);
}
});
// Printing all selected items on Terminal screen.
print(holder_1);
// Here you will get all your selected Checkbox items.
// Clear array after use.
holder_1.clear();
}
@override
Widget build(BuildContext context) {
return Column (children: <Widget>[
RaisedButton(
child: Text(" Get Checked Checkbox Values "),
onPressed: getItems,
color: Colors.pink,
textColor: Colors.white,
splashColor: Colors.grey,
padding: EdgeInsets.fromLTRB(10, 10, 10, 10),
),
Expanded(
child :
ListView(
children: List.keys.map((String key) {
return new CheckboxListTile(
title: new Text(key),
value: List[key],
activeColor: Colors.deepPurple[400],
checkColor: Colors.white,
onChanged: (bool value) {
setState(() {
List[key] = value;
});
},
);
}).toList(),
),
),]);
}
}
From:这里有一个完整的示例,说明如何创建它以及如何将该值组合在一起 映射是键值对中的数据集合。地图中的数据可以通过其相关键轻松访问。我们将创建一个包含字符串和布尔数据的映射数组。字符串是复选框的名称,布尔值用于确定选中或不选中哪个复选框
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(
centerTitle: true,
backgroundColor: Colors.deepPurple[400],
title: Text("Multiple Checkbox Dynamically"),
),
body: SafeArea(
child : Center(
child:DynamicallyCheckbox(),
)
)
),
);
}
}
class DynamicallyCheckbox extends StatefulWidget {
@override
DynamicallyCheckboxState createState() => new DynamicallyCheckboxState();
}
class DynamicallyCheckboxState extends State {
Map<String, bool> List = {
'Egges' : false,
'Chocolates' : false,
'Flour' : false,
'Fllower' : false,
'Fruits' : false,
};
var holder_1 = [];
getItems(){
List.forEach((key, value) {
if(value == true)
{
holder_1.add(key);
}
});
// Printing all selected items on Terminal screen.
print(holder_1);
// Here you will get all your selected Checkbox items.
// Clear array after use.
holder_1.clear();
}
@override
Widget build(BuildContext context) {
return Column (children: <Widget>[
RaisedButton(
child: Text(" Get Checked Checkbox Values "),
onPressed: getItems,
color: Colors.pink,
textColor: Colors.white,
splashColor: Colors.grey,
padding: EdgeInsets.fromLTRB(10, 10, 10, 10),
),
Expanded(
child :
ListView(
children: List.keys.map((String key) {
return new CheckboxListTile(
title: new Text(key),
value: List[key],
activeColor: Colors.deepPurple[400],
checkColor: Colors.white,
onChanged: (bool value) {
setState(() {
List[key] = value;
});
},
);
}).toList(),
),
),]);
}
}
发件人:您能更好地解释一下您想做什么吗?您的用例是什么?我想创建一个包含多个项目的复选框列表视图&当用户开始选择它们时,他们将开始添加到一个新数组中,然后我必须将所有选择的项目显示到包含更新项目的文本小部件中。您能更好地解释一下您想要做什么吗?您的用例是什么?我想创建一个包含多个项目的复选框列表视图&当用户开始选择它们时,他们将开始添加到一个新数组中,然后我必须将所有选择的项目显示到包含更新项目的文本小部件中。感谢分享您的代码,我还需要一件事,当我选择任何项目的形式复选框,它将自动添加到新的数组或地图所有选定的项目,然后我必须显示在屏幕上使用文本小部件选定的项目。如果你能在这方面帮助我,我将非常高兴。请帮助我。谢谢分享你的代码,我还需要一件事,当我选中任何项目表单复选框时,它会自动将所有选中的项目添加到新的数组或地图中,然后我必须使用文本小部件在屏幕上显示选中的项目。如果你能帮我,我会很高兴的。请帮我
flutter: [Egges, Chocolates, Fllower, Fruits]