flutter - 如何在颤动中将列表数据从一个屏幕传递到另一个屏幕(StatefulWidget)
问题描述
我在一个屏幕中有卡片数据,我将卡片文本保存在列表中。所以当我按下(onTap)我的卡片时我需要做文本数据发送到另一个屏幕。在第二个屏幕中,我有一些文本字段和卡片值需要填写此文本字段。
class _LoadDataState extends State<LoadData> {
String cupcakeName = '';
String cupcakeDesc = '';
String cupcakePrice = '';
String listDocID = '';
var cakeData = [];
List<String> strArr = [];
@override
Widget build(BuildContext context) {
return Container(
child: ListView(
return Card(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12)),
child: new InkWell(
onTap: () { //This is the methord I need to send my data
cupcakeName = (data['cupcake_name']);
cupcakeDesc = (data['description']);
cupcakePrice = (data['price']);
strArr = [cupcakeName, cupcakeDesc, cupcakePrice];
print(strArr);
},
child: Container(
padding: EdgeInsets.all(16),
child: Column(
children: <Widget>[
Text(
data['cupcake_name'],
style: TextStyle(
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
}).toList(),
),
这是我的第二个屏幕文本字段:-
Widget build(BuildContext context) {
return Scaffold(
body: ListView(
shrinkWrap: true,
children: <Widget>[
DropDown(),
Form(
key: _cupcakeKey,
autovalidateMode: AutovalidateMode.always,
child: Padding(
padding: const EdgeInsets.all(16.0),
child: TextFormField(
decoration: InputDecoration(
controller: cupCake,
validator: (_val) {
if (_val!.isEmpty) {
return "Can't Be Empty";
} else {
return null;
}
},
onChanged: (cupcake) {
cupcakeName = cupcake;
},
),
),
),
解决方案
你可以使用 Flutter Navigator 1.0 来实现。尝试将参数传递给第二页 将参数 传递给命名路由
推荐阅读
- python - For循环使用python从硒中的excel表中读取数据
- java - 将从服务器读取的图像保存为位图到 Android 内部存储
- git - 如何让 git 从分支而不是标签中拉出?
- c++ - 当我在嵌入式设备中运行 C++ 代码时出现分段错误
- python - Python 的 lambda 列表只取最后一个值
- html - 如何在 Vuejs 中为选项卡使用路由器视图?
- ios - 如何使用 Swift iOS 向 ST17H26 发送自定义蓝牙命令?
- java - 解析后如何获取多个数组元素并将其传递给数据类
- r - 如何通过 purrr::pmap 正确地将参数从 tibble 传递到函数中
- jquery - Jquery 输入值返回 null(未定义)