Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
4.0k views
in Technique[技术] by (71.8m points)

flutter中的provider报错

class MeetingListModel with ChangeNotifier {
  int _count = 0;
  int get count => _count;
  void add() {
    _count++;
    notifyListeners();
  }
}

class MeetingList extends StatefulWidget {
  @override
  _MeetingListState createState() => _MeetingListState();
}

class _MeetingListState extends State<MeetingList> {
  int type = 0;

  @override
  Widget build(BuildContext context) {
    return MultiProvider(
        providers: [
          ChangeNotifierProvider(
            create: (_) => MeetingListModel(),
          )
        ],
        child: Scaffold(
          body: Center(
            child: Column(children: [
              GestureDetector(
                  onTap: () {
                    context.watch<MeetingListModel>().add();
                  },
                  child: Text("会议列表")),
              Text(context.watch<MeetingListModel>().count.toString()),
            ]),
          ),
        ));
  }
}

这样写为什么会报错,按照推荐的写法

Widget build(BuildContext context) {
 return Provider<Example>(
create: (_) => Example(),
 builder: (context) {
 return Text(context.watch<Example>()),
}),}

也同样报错,求解啊


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
context.watch<MeetingListModel>().add();

watch改成read试试


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...