Flutter 如何通过颤振中的多个类读取数据?
我在工作中做一个颤振项目,我遇到了一个高原 我有一个models文件夹,我在其中创建了一个类,它基本上保存了一个对象列表,这些对象具有我想在小部件中更改的特定属性。然后,我希望看到该属性的更改反映在之后的列表中,以便能够在另一个小部件/屏幕中读取该属性。我可以轻松地更改小部件内的属性,但由于范围的原因,更改不会反映在models文件夹的列表中 我有一个屏幕,其中我呈现了几个卡片小部件。这些卡片小部件是从前面提到的对象列表中呈现和构建的。每一张卡片都有一个构造函数,它接受三个属性,其中一个属性是我希望在卡片小部件状态中更改时能够读取的特定属性。然而,我不知道怎么做 列表->构建卡(属性1、属性2、属性3)->更改卡内属性3。 如何更改列表中的实际属性Flutter 如何通过颤振中的多个类读取数据?,flutter,dart,Flutter,Dart,我在工作中做一个颤振项目,我遇到了一个高原 我有一个models文件夹,我在其中创建了一个类,它基本上保存了一个对象列表,这些对象具有我想在小部件中更改的特定属性。然后,我希望看到该属性的更改反映在之后的列表中,以便能够在另一个小部件/屏幕中读取该属性。我可以轻松地更改小部件内的属性,但由于范围的原因,更改不会反映在models文件夹的列表中 我有一个屏幕,其中我呈现了几个卡片小部件。这些卡片小部件是从前面提到的对象列表中呈现和构建的。每一张卡片都有一个构造函数,它接受三个属性,其中一个属性是我
类可用计划{
静态列表选项=[
平面卡(
计划:“美式足球”,
isMarked:错,
变体:[''],
),
平面卡(
计划:“足球”,
isMarked:错,
变体:[
"足球11v11",,
“足球美国9v9”,
“足球美国7v7”,
“足球美国4v4”,
“足球DBU 8v8”,
“足球DBU 5v5”,
“足球DBU 3v3”,
“足球SvFF 3v3”,
“足球SvFF 5v5”,
“足球SvFF 7v7”,
“足球SvFF 9v9”,
],
),
平面卡(
计划:“棒球”,
isMarked:错,
变体:[],
),
平面卡(
平面图:“标准几何图形”,
isMarked:错,
变体:[],
),
平面卡(
平面图:“扩展几何体”,
isMarked:错,
变体:[],
),
平面卡(
计划:“自由格式文本”,
isMarked:错,
变体:[],
),
];
SliverList(
代表:SliverChildBuilderDelegate(
(上下文、索引){
返回计划卡(
计划:计划[索引]。计划,
isMarked:计划[索引]。isMarked,
变量:计划[索引]。变量,
);
},
childCount:plans.length,
),
),
class PlanCard扩展StatefulWidget{
最终管柱计划;
最后清单变型;
布尔被标记;
bool-isExpanded=false;
PlanCard({this.plan,this.isMarked,this.variants});
@凌驾
_PlanCardState createState();
}
类_PlanCardState扩展状态{
void _saveStateFromBoxes(){
设置状态(){
widget.isMarked=!widget.isMarked;
打印(widget.isMarked);
});
}
要访问列表的单个属性,需要访问每个元素,然后调用该属性
class PlanCardView extends StatelessWidget {
final List<PlanCard> planCards;
PlanCardView({
Key key,
this.planCards,
}) : super(key: key);
Widget build(BuildContext context) {
return ListView.builder(
scrollDirection: Axis.horizontal,
itemCount: planCards.length,
itemBuilder: (BuildContext context, int index) {
PlanCard planCard = planCards[index]; //getData;
return Container(
child:Text(planCard.isMarked) //access isMarked
);
}
);
}
class PlanCardView扩展了无状态小部件{
最终清单和卡片;
平面视图({
关键点,
这张卡片,
}):super(key:key);
小部件构建(构建上下文){
返回ListView.builder(
滚动方向:轴水平,
itemCount:planCards.length,
itemBuilder:(构建上下文,int索引){
PlanCard PlanCard=planCards[index];//获取数据;
返回容器(
子级:Text(planCard.isMarked)//访问被标记
);
}
);
}
您需要将PlanCard列表传递给该类,然后它将在文本小部件中打印所有isMarked属性