【问题标题】:To show value in the textfield in flutter在颤动的文本字段中显示值
【发布时间】:2020-06-04 11:39:37
【问题描述】:

我正在尝试创建一个页面来编辑配置文件并使用下面的文本字段,用户已经有一个从 firestore 数据库中检索并存储在字符串变量中的集合名称,我想要的是当用户打开他要编辑的个人资料页面String value 应该显示在textfield 中,我没有这样的选项。

请指导我

TextField( decoration: InputDecoration(
                          hintText: 'Sweetie',
                          contentPadding: EdgeInsets.all(5.0),
                          hintStyle: TextStyle(color: greyColor),
                        ),
                        controller: controllerNickname,
                        onChanged: (value) {
                          nickname = value;
                        },
                        focusNode: focusNodeNickname,
                      )

【问题讨论】:

    标签: firebase flutter google-cloud-firestore textfield


    【解决方案1】:

    如果你想使用TextField,那么你需要声明TextEditingController并将其设置为TextFieldcontroller属性并将你的文本设置为

    TextEditingController _controller = TextEditingController(text: "Set My Text Here")
    

    但是你必须在dispose方法中dispose

    另一个选项是

    TextFormField(
       initialValue: "Set My Text Here",
    ) 
    

    你可以使用任何你想要的东西

    【讨论】:

      【解决方案2】:

      由于您使用的是控制器,因此您可以在 initstate 方法中将 controllerNickname.text 设置为您需要的值

      【讨论】:

        【解决方案3】:

        您必须将值分配给控制器:

        String value = "Jhon"
        
        controllerNickname.text = value;
        

        【讨论】:

          【解决方案4】:

          您可以通过个人资料页面的构造函数传递昵称值,并在您需要的地方设置昵称值如下。尝试在initState() 方法中设置它

          controllerNickname.text = 'XYZ';
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2020-05-17
            • 1970-01-01
            • 2020-12-15
            • 2022-06-27
            • 2021-07-13
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多