Flutter 如何处理TextField中的空值。[颤振]

Flutter 如何处理TextField中的空值。[颤振],flutter,Flutter,在该应用程序中有两个屏幕,第一个屏幕在列表中显示所有用户输入的字符串,第二个屏幕有一个文本字段,它接受用户输入,并使用onEditingComplete返回第一个屏幕。用户将能够通过在第一个屏幕中使用FAB导航到第二个屏幕。当用户未在文本字段中键入任何内容并返回上一页时,存储用户输入值的字符串将返回“null”。我添加了一个if语句,该语句仅在TextField不为空时才会返回到第一页,但当我单击submit时,它根本不会导航到第一个屏幕 我可以得到一个关于如何修改代码的建议,以便文本字段中的空

在该应用程序中有两个屏幕,第一个屏幕在
列表中显示所有用户输入的
字符串
,第二个屏幕有一个
文本字段
,它接受用户输入,并使用
onEditingComplete
返回第一个屏幕。用户将能够通过在第一个屏幕中使用FAB导航到第二个屏幕。当用户未在
文本字段中键入任何内容并返回上一页时,存储用户输入值的
字符串将返回“null”。我添加了一个
if
语句,该语句仅在
TextField
不为空时才会返回到第一页,但当我单击submit时,它根本不会导航到第一个屏幕

我可以得到一个关于如何修改代码的建议,以便
文本字段
中的空值不会保存到
字符串
并导航回第一个屏幕

导航到输入(第二)屏幕的晶圆厂:

接收用户输入的文本字段:

                     TextField(
                        autofocus: true,
                          onEditingComplete: (){
                            String textToSendBack = taskcontroller.text;
                            if(taskcontroller.text.isNotEmpty) {
                              Navigator.pop(context, textToSendBack);
                            }
                            },
//                        onSubmitted: (value) {
//                          String textToSendBack = taskcontroller.text;
//                          Navigator.pop(context, value);
//                          },
                        maxLength: 100,
                        controller: taskcontroller,
                        decoration: InputDecoration(
                          labelText: "enter tasks here"
                        ),
                        style: TextStyle(height: 1.2, fontSize: 20, color: Colors.black87),
                      )

您可以这样做:

String textToSendBack = taskcontroller.text;
       if(textToSendBack != null){
              Navigator.pop(context, textToSendBack);
          }
这只会在文本不是空时将您带回另一个屏幕。否则,您将停留在当前屏幕上等待有效输入


我希望我正确理解了你的问题。

对我来说,它运行良好isEmptyisNotEmpty

_titleController.text.isEmpty
_titleController.text.isNotEmpty

它导航回第一个屏幕,但
字符串
仍用空格保存。我希望它导航到第一个屏幕,而不保存
字符串textToSendBack
中的任何内容。好的,我通过向添加任务的函数添加相同的条件(
String.isNotEmpty
)解决了这个问题,现在它不保存到字符串中。谢谢你的帮助:)。
_titleController.text.isEmpty
_titleController.text.isNotEmpty