【问题标题】:The getter 'isNull' was called on null在 null 上调用了 getter 'isNull'
【发布时间】:2021-12-21 16:13:03
【问题描述】:

我在执行以下颤振代码时使用 getx 和 getstorage 包。我想检查变量是否为空,但是出现以下错误。在执行下面的代码时,名为 variable 的变量不会存储在磁盘上。

发生了异常。 NoSuchMethodError (NoSuchMethodError: 在 null 上调用了 getter 'isNull'。 接收方:空 尝试调用:isNull)

screen.dart

TextButton(
  onPressed: () {
    var _variable =  userStorage.read('variable');
    print('_variable = $_variable'); 
    // above prints _variable = null
    if(_variable.isNull){
      // do something if its null
      // but results in flutter error
    }
    else{
      // do something else
    }
  },
  child: Obx(() => (Text(
    'variable value='+controller.variable.value,
  )
  )
  )
)

controller.dart

class Controller extends GetxController {
  var userStorage = GetStorage();
}

【问题讨论】:

  • 这样试试if(_variable==null)

标签: flutter flutter-getx


【解决方案1】:

如果为空,则使用默认值

var _variable =  userStorage.read('variable') ?? "notSet";
if(_variable == "notSet"){
  // do something 
}
else{
  // do something else
}

【讨论】:

    猜你喜欢
    • 2020-01-10
    • 2020-10-24
    • 2021-04-13
    • 2021-10-22
    • 2020-05-20
    • 2019-01-09
    • 2021-07-21
    • 2020-11-16
    • 2020-07-14
    相关资源
    最近更新 更多