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

标签 dart flutter

这是我的代码,我创建了一个 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/

相关文章:

bash - WSL 和 bash 命令

listview - flutter : How to remove space between row in Listview

Flutter - 在 CustomPainter 中重用以前绘制的 Canvas

Flutter 创建一个凸起的按钮

flutter - 我怎样才能将容器向右移动

flutter - 如何从另一个小部件中的某个按钮调用 StatefulWidget 中的函数?

Flutter - 具有 3D 效果的页面之间的过渡

ios - 使用 Flutter 在 Windows 环境下开发 iOS 设备

flutter - Flutter:如何通过ToggleButtons对ListView进行排序

dart - 如何在flutter android中读取/打开e-pub文件?