Flutter 关于颤振多供应商的应用
屏幕上的结果是333,如果我想显示222,如何获得第二个模型? 有没有办法实现这一点,比如通过索引Flutter 关于颤振多供应商的应用,flutter,flutter-provider,Flutter,Flutter Provider,屏幕上的结果是333,如果我想显示222,如何获得第二个模型? 有没有办法实现这一点,比如通过索引 我的项目中真正的问题是:我有一个页面,它由一系列组件组成,如横幅、旋转木马、音频播放器等。它们的顺序和数量是任意的,由json配置,如: import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; void main() { runApp(App()); } class Model ex
我的项目中真正的问题是:我有一个页面,它由一系列组件组成,如横幅、旋转木马、音频播放器等。它们的顺序和数量是任意的,由json配置,如:
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
void main() {
runApp(App());
}
class Model extends ChangeNotifier {
String id;
Model({this.id});
}
class App extends StatelessWidget {
@override
Widget build(BuildContext context) {
var model1 = Model(id: '111');
var model2 = Model(id: '222');
var model3 = Model(id: '333');
return MaterialApp(
home: Scaffold(
backgroundColor: Colors.white,
body: MultiProvider(
providers: [
ChangeNotifierProvider.value(value: model1),
ChangeNotifierProvider.value(value: model2),
ChangeNotifierProvider.value(value: model3),
],
child: Center(child: Foo()),
),
));
}
}
class Foo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Consumer(
builder: (ctx, Model model, child) {
return Text(model.id);
},
);
}
}
我要做的是遍历json,然后创建整个模型。
ComponentAModel,ComponentBModel,ComponentAModel。
然后我将所有这些都放入多提供商中
现在我有两个组件A要渲染,但我无法区分第一个组件A模型和第二个组件模型。不能使用提供程序提供同一类型的多个模型 试试看
{
"settings": [
{
"type": "ComponentA",
"data": "..."
},
{
"type": "ComponentB",
"data": "..."
},
{
"type": "ComponentA",
"data": "..."
}
]
}