我有一个扩展ChangeNotifier的类,如下所示
import 'package:flutter/foundation.dart';
class Person extends ChangeNotifier {
int _age = 0;
int get age => _age;
set age(int value) {
_age = value;
notifyListeners();
}
factory Person.fromMap(Map<String, dynamic> obj) => Person(
age: obj["Age"],
);
}但在添加fromMap方法时出现此错误
The class 'Person' doesn't have a default constructor.
Try using one of the named constructors defined in 'Person'.你知道怎么纠正这个问题吗?
我确实试过了
class Person extends ChangeNotifier {
Person();
int _age = 0;
int get age => _age;
set age(int value) {
_age = value;
notifyListeners();
}
factory Person.fromMap(Map<String, dynamic> obj) => Person(
age: obj["Age"],
);
}但后来却被告知
The named parameter 'age' isn't defined.
Try correcting the name to an existing named parameter's name, or defining a named parameter with the name 'age'发布于 2021-05-27 01:57:02
您必须创建一个以年龄为参数的命名构造函数。
class Person extends ChangeNotifier {
int _age = 0;
Person({int age}) : this._age = age;
// Rest of your code
}您可以在Dart Language Tour此处阅读有关构造函数的更多信息
https://stackoverflow.com/questions/67710043
复制相似问题