问题描述
我想将一个无状态Widget的列表传递给Tasktile,并传递给扩展ChangeNotifier的Taskdata类。Taskdata也用作tasktile的第二个消费者参数。 我正在尝试制作生日/周年纪念提醒应用程序。并且还显示了在不同的mont中分隔的生日。所以我需要度过一个月。
import 'dart:collection';
import 'package:wishes_sent/constants.dart';
import 'package:Flutter/material.dart';
import 'package:wishes_sent/data.dart';
import 'tiles.dart';
import 'package:wishes_sent/constants.dart';
import 'package:provider/provider.dart';
import 'package:Flutter/foundation.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
class TaskData extends ChangeNotifier {
List<Task> month = [];
TaskData(this.month);
UnmodifiableListView<Task> get tasks {
return UnmodifiableListView(month);
}
int get taskCount {
getData();
return month.length;
}
void update() {
notifyListeners();
}
void updateTask(Task task) {
task.toggleDone();
notifyListeners();
}
}
class TasksList extends StatelessWidget {
List<Task> month;
TasksList(this.month);// pass this month to taskdata.so i can have 12 different Task list for 12 months
@override
Widget build(BuildContext context) {
return Consumer<TaskData>(
builder: (context,taskData,child) {
return ListView.builder(
itemCount: Provider.of<TaskData>(context).taskCount,itemBuilder: (context,index) {
final task = taskData.tasks[index];
return TaskTile(
update: () {
taskData.update();
},fullName: task.fullName,emailID: task.emailID,phoneNo: task.phoneNo,userEmail: task.userEmail,message: task.message,type: task.type,dateE: task.dateE,id: task.id,isVisible: task.isVisible,color: task.color,showMore: () {
print("LA LA LA Land yo bay yo ");
taskData.getData();
},deleteTile: () {
taskData.deleteTask(task);
},);
},);
},);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)