当flutter的提供程序中的多个类型相同时,如何获取值?

时间:2019-10-22 10:38:46

标签: flutter dart

如果需要共享两种相同的类型,如何在Provider.of中获取它们的值?

void main() {
  final int counter1 = 48;
  final int counter2 = 12;

  runApp(
    MultiProvider(
      providers: [
        Provider<int>.value(value: counter1),
        Provider<int>.value(value: counter2),
      ],
      child: MyApp(),
    ),
  );
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final _counter1 = Provider.of<int>(context);  // ??
    final _counter2 = Provider.of<int>(context);  // ??
  }
}

1 个答案:

答案 0 :(得分:0)

您不能执行此操作,必须以某种方式更改类型。

您可以创建一个类,该类包含简单的计数器值以及如何更改一个int的类型。

如果您同时使用提供程序,那么当您访问child中的提供程序时,您只能接收最接近的提供程序的值。

有关更多信息,请查看官方document