我有两个页面,每个页面包含一个TextFormField。我想存储在第一页中输入的数据,并在第二页中显示它,依此类推。我希望使用Database(Sqflite)来实现这一点。我不知道如何存储属于单个Database表的同一行的两个不同的值。
发布于 2019-12-16 22:19:42
由于这个应用需要多个页面,所以我认为PageView是最适合这种情况的。
对于您的问题的答案,请查看下面的代码:
import 'package:flutter/material.dart';
class PageViewDemo extends StatefulWidget {
@override
_PageViewDemoState createState() => _PageViewDemoState();
}
class _PageViewDemoState extends State<PageViewDemo> {
Map<String, bool> _importantData;
List<String> _pages;
@override
void initState() {
super.initState();
_importantData = Map<String, bool>();
_pages = <String>['one', 'two', 'three', 'four'];
}
@override
Widget build(BuildContext context) {
return PageView(
children: _pages.map<Widget>((String pageText) {
return Center(
child: Card(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
pageText.toUpperCase(),
style: TextStyle(fontSize: 15.0, fontWeight: FontWeight.bold),
),
CheckboxListTile(
title: Text('isChecked: '),
controlAffinity: ListTileControlAffinity.leading,
value: _importantData[pageText] ?? false,
onChanged: (bool newValue) {
setState(() {
_importantData[pageText] = newValue;
});
},
)
],
),
),
);
}).toList(),
);
}
}注意:此代码仅用于解释,并不直接用于解决方案。
如你所见,有4个不同的页面,每个页面都有复选框。map _importantData用于存储每个页面的检查状态。
就像_importantDatato store the checked status, any model class instance can be used for storing the data. Like_importantData`一样,任何模型类都可以存储需要跨所有页面访问的数据。
例如,您可以创建一个数据类来存储用户将在每个页面上输入的值。只需确保创建模型类的单个实例,并通过每个页面传递它来访问/更新相对值。
https://stackoverflow.com/questions/59357661
复制相似问题