错误:无法调用该方法,因为接收器可以为空

时间:2021-07-27 09:32:59

标签: android flutter dart


我试图在单击按钮时保存表单,但它给了我一个错误,即“无法调用方法,因为接收器可以为空”。我提供了一个空检查,但错误没有得到解决。任何帮助将不胜感激。

这是代码

onPressed: () {
    if (_formKey.currentState != null) {
        _formKey.currentState.save(); // this gives the error
    }
},

这个 onPressed 与升高的按钮相关联,这里的 _formKey 是这样的:

// key to work with the form
final _formKey = GlobalKey<FormState>();

1 个答案:

答案 0 :(得分:2)

既然您正在检查 currentState 是否为空,您可以使用 ! 来解决您的问题。

onPressed: () {
    if (_formKey.currentState != null) {
        _formKey.currentState!.save();
    }
},

解决此问题的另一种方法是创建一个存储 currentState 的变量。

onPressed: () {
    final state = _formKey.currentState;
    if (state != null) {
        state.save();
    }
},