Android 颤振:如何处理具有不同数据的相似部件的状态变化
使用的技术:[提供商] 我正在为当地农民开发一个应用程序,遇到了以下问题: 我有一个Android 颤振:如何处理具有不同数据的相似部件的状态变化,android,flutter,mobile,provider,flutter-provider,Android,Flutter,Mobile,Provider,Flutter Provider,使用的技术:[提供商] 我正在为当地农民开发一个应用程序,遇到了以下问题: 我有一个列表,我的组件数量基于此任务列表的长度,而且每个组件显示子任务,如标题、完成的大小等 List<Task> = [Task( title: "Simple task", start_date : "2020-10-20", end_date : "2020-11-20", completed_size : "90.0&quo
列表
,我的组件数量基于此任务列表的长度,而且每个组件显示子任务,如标题、完成的大小等
List<Task> = [Task(
title: "Simple task",
start_date : "2020-10-20",
end_date : "2020-11-20",
completed_size : "90.0",
overall_size : "120.0",
sub_tasks : <SubTask>[
SubTask(
title: "Sub Task 1 of Task 1",
completed : "10.0",
),
SubTask(
title: "Sub Task 2 of Task 1",
completed : "10.0",
),]
),
Task(
title: "Simple task 2",
start_date : "2020-10-20",
end_date : "2020-11-20",
completed_size : "80.0",
overall_size : "120.0",
sub_tasks : <SubTask>[
SubTask(
title: "Sub Task 1 of Task 2",
completed : "10.0",
),
SubTask(
title: "Sub Task 1 of Task 2",
completed : "70.0",
),]
),]
MyselectTask()
函数
void selectTask(int cropId, int taskId) {
int taskIndex = crops.indexWhere((element) => element.id == cropId);
_selectedTask =
crops[taskIndex].tasks.firstWhere((element) => element.id == taskId);
notifyListeners();
}
显示循环
Container(
height: 380,
child: Consumer<Dashboard>(
builder: (ctx, crops, _) => PageView.builder(
physics: BouncingScrollPhysics(),
itemCount: crops.crops.length,
controller: PageController(
viewportFraction: 0.95,
),
onPageChanged: (int index) => setState(() {
_index = index;
}),
itemBuilder: (_, i) {
return ChartCard(
i: i,
index: _index,
item: crops.crops[i],
);
},
),
),
),
容器(
身高:380,
儿童:消费者(
生成器:(ctx,crops,)=>PageView.builder(
物理:弹跳CrollPhysics(),
itemCount:作物。作物。长度,
控制器:页面控制器(
视口分数:0.95,
),
onPageChanged:(int索引)=>setState((){
_指数=指数;
}),
itemBuilder:(u,i){
返回图表卡(
i:我,
索引:_索引,
项目:作物。作物[i],
);
},
),
),
),
p.S我已将任务
S存储为作物(根据需要)
问题:
Expanded(
child: Row(
children: [
Expanded(
child: Consumer<Dashboard>(
builder: (ctx, task, _) =>
GaugeChart.withSampleData(
animate: false,
taskName: task.selectedTask.title,
color: Theme.of(context).accentColor,
completedValue:
task.selectedTask.completedSize,
totalValue: widget.item.totalSize,
),
))
],
),
),
如何选择一个任务并仅修改其子项已更改的一个卡组件,而不接触其他卡组件,因为它没有存储在其他任务中的子任务