我试图为PanierModel的属性赋值,但我在图片上收到了这个错误
NoSuchMethodError:在null上调用了getter"nom"。接受者null尝试调用:nom
class _TestSQFLITEState extends State<TestSQFLITE> {
DatabaseHelper helper = DatabaseHelper();
PanierModel _panier;
@override
Widget build(BuildContext context) {
setState(() {
_panier.nom = _panier.nom == null ? "Arduino" : "";
});
void _ajouterPanier() async {
int result;
result = await helper.insertPanier(_panier);
if(result != 0)
print('STATUS Panier Save Successfully');
}
return Scaffold(
body: Container(
child: Center(
child: Column(
children: <Widget>[
Text(_panier.nom , style: TextStyle(color: Colors.red, fontWeight: FontWeight.bold),),
Text("Abibou", style: TextStyle(color: Colors.red, fontWeight: FontWeight.bold),),
],
),
),
),
floatingActionButton: FloatingActionButton(onPressed: _ajouterPanier,
child: Icon(Icons.add, color: Colors.white,),),
);
}
}
您的问题是没有初始化_panier,这就是为什么会出现错误,因为_panier.com是在null上调用的,因为_padier是null,null对象没有任何属性。您必须执行以下操作:
PanierModel _panier = PanierModel(); //now _panier is not null anymore