0

我是 Flutter 的新手,我试图让用户界面在用户触发操作时刷新页面,例如按下按钮以更新此订单项目状态。我使用 ChangeNotifierProvider 为我的小部件提供了以下代码。

    body: ChangeNotifierProvider.value(
        value: Provider.of<OrderItemModel>(context, listen: false),
        child: Consumer<OrderItemModel>(builder: (context, model, child) {...some widgets...}

我有一个名为 updateStatus() 的函数。

  void updateStatus(orderItem, status) {
    Provider.of<OrderItemModel>(context, listen: false)
        .updateOrderStatus(orderItem, status, '');
  }

但是,我找不到更新 UI 的方法。请帮忙。

4

1 回答 1

1
body: ChangeNotifierProvider(
  create: (_) => OrderItemModel(),
  child: Consumer<OrderItemModel>(builder: (context, model, child) {...some widgets...}

updateStatus需要在小部件树的更下方的小部件类中定义Provider.of才能工作。如果不是,我建议model.updateOrderStatus直接从onPressed回调中调用。

于 2020-11-21T11:36:25.130 回答