gpt4 book ai didi

dart - 当 ExpansionTile 在 Flutter 中崩溃时,ExpansionTile 内的 TextFormField 会丢失数据

转载 作者:行者123 更新时间:2023-12-03 03:12:49 25 4
gpt4 key购买 nike

这是我的代码,我创建了一个 ExpansionTile 并且它有一个子 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,
)
],
),
);
}
}

每当我在 TextFormField 中输入内容并折叠 ExpansionTile 时,TextFormField 中的数据都会丢失。我正在使用这种类型的 UI,因为我必须创建一个包含很多细节的大表单。如果没有ExpansionTile,那么用户必须滚动很长一段距离。

最佳答案

正如 - @pskink 所提到的

在你的代码中添加 TextEditingController _controllerl; :

@override
void initState() {
super.initState();
_controllerl = TextEditingController();
}

所以你的代码看起来像:

class _OrderCreatePageState extends State<OrderCreatePage> {
String _userID;
TextEditingController _controllerl;
@override
void initState() {
super.initState();
_controllerl = TextEditingController();
}
@override
Widget build(BuildContext context) {
return Scaffold(
....
......

enter image description here

关于dart - 当 ExpansionTile 在 Flutter 中崩溃时,ExpansionTile 内的 TextFormField 会丢失数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53535852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com