这是我的代码,我创建了一个ExpansionTile并且它有一个 child TextFormField。
import 'package:flutter/material.dart';
class OrderCreatePage extends StatefulWidget {
@override
_OrderCreatePageState createState() => _OrderCreatePageState();
}
class _OrderCreatePageState extends State<OrderCreatePage> {
String _userID;
TextEditingController _controllerl;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: new Text("Create"),
),
body: ExpansionTile(
title: Text("Create"),
children: <Widget>[
TextFormField(
decoration: InputDecoration(
labelText: "User ID",
icon: Icon(Icons.face),
),
validator: (val) {},
controller: _controllerl,
onSaved: (val) => _userID = val,
)
],
),
);
}
}
Run Code Online (Sandbox Code Playgroud)
每当我在 中输入内容TextFormField并折叠 时ExpansionTile, 中的数据TextFormField就会丢失。我使用这种类型的用户界面是因为我必须创建一个大表单来获取大量详细信息。如果没有ExpansionTile,那么用户必须滚动很长一段距离。
小智 5
https://api.flutter.dev/flutter/material/ExpansionTile/maintainState.html
ExpansionTile(maintainState: true, title: Text("text here"), ...
Run Code Online (Sandbox Code Playgroud)
这样,孩子们在折叠和打开后的状态就会保持不变。
| 归档时间: |
|
| 查看次数: |
2443 次 |
| 最近记录: |