0

FormTextField在 Flutter 应用程序中使用

要更新某个列值,用户输入FormTextField,否则将该字段留空。

我尝试了这段代码,但它向null列添加了一个值,删除了现有值。我对这种行为不满意。

      String _getProd5Name() {
           if ((_prod5Controller.text).isNotEmpty == true) {
              _prod5String = _prod5Controller.text;
            } 
             return _prod5String;
           }

有没有办法做到这一点?

我发现了类似的问题,但它们与其他语言相关,它们的解决方案不能解决我的问题。

4

2 回答 2

0
String _getProd5Name() {
    // Actually you don't have to make it private
    // since this is a local variable inside a function
    String _prod5String = variableContainingInitialValue;

    if (_prod5Controller.text.isNotEmpty) {
        _prod5String = _prod5Controller.text;
      }
    return _prod5String;
}
于 2021-01-04T04:09:10.770 回答
0

这是我的建议,因为我喜欢将所有内容都包装在 1 行。您可以根据您的结果期望更改“”部分。这与您的逻辑相同,但它更短,而不是返回 null 我让它返回空字符串“”。而且 (_prod5Controller.text).isNotEmpty == true 您可以将其缩短为 (_prod5Controller.text).isNotEmpty 因为 .isNotEmpty 总是返回布尔值 true/false 和 if-else 消耗布尔值

String _getProd5Name() {
   return ((_prod5Controller.text).isNotEmpty) ? _prod5String = _prod5Controller.text : "";
}
于 2021-01-04T04:50:10.720 回答