小编MU'*_*med的帖子

Flutter Provider:notifyListeners 不更新 AlertDialog 小部件

我用来Provider向屏幕和警报对话框提供一些数据。知道它AlertDialog是在小部件树之外的,我添加了一个ChangeNotifierProvider作为该对话框的包装小部件。但即使我确保值在提供者状态下更新,UI 仍然没有改变。

代码片段:

showTextDialog(BuildContext context) {
  final myModel = Provider.of<ServicesProvider>(context, listen: false);
  return showDialog(
    context: context,
    builder: (_) => ChangeNotifierProvider.value(
      value: myModel,
      child: AlertDialog(
        content: IntrinsicHeight(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              Row(
                children: [
                  Radio(
                    value: '0',
                    groupValue: myModel.paymentMethod,
                    onChanged: (value) => myModel.setPaymentMethod('0'),
                    activeColor: ColorResources.PRIMARY_COLOR,
                    toggleable: true,
                  ),
                  SizedBox(width: responsiveWidth(5)),
                  Text("Radio Button 1"),
                ],
              ),
              SizedBox(height: responsiveHeight(10)),
              Row(
                children: [
                  Radio(
                    value: '1',
                    groupValue: myModel.paymentMethod,
                    onChanged: (value) => myModel.setPaymentMethod('1'),
                    activeColor: ColorResources.PRIMARY_COLOR,
                    toggleable: true, …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-provider

1
推荐指数
1
解决办法
2348
查看次数

标签 统计

dart ×1

flutter ×1

flutter-provider ×1