我们可以在dart中将参数传递给参考方法吗



伙计们,我正试图访问方法内部的一个变量,我不得不将这个变量传递给引用方法。这可能吗?

这是我的列表生成器

return ListView.builder(
itemCount: tasks.length,
itemBuilder: (context, index) {
return TaskTile(
nameOfTheTask: tasks[index].nameOfTheTask,
isChecked: tasks[index].taskStatus,
onTaskCompleted: (checkBoxState) {        
setState(() {
tasks[index].updateTaskStatus();
});
}, 
);
},
);

我想将onTaskCompleted附近的回调替换为引用方法。

onTaskChangedReference(checkBoxState) {
setState(() {
tasks[index].taskStatus =
!tasks[indexOfTheTaskTile].taskStatus;
});
}

但我需要使用索引变量,有什么方法可以做到这一点吗。

实现这一点的一种方法是创建这样的方法:

onTaskChangedReference(int index) {
return (checkBoxState) {
setState(() {
tasks[index].taskStatus =
!tasks[indexOfTheTaskTile].taskStatus;
});
}
}

所以现在在你的ListView.builder中,你可以这样引用它:

...
onTaskCompleted: onTaskChangedReference(index),
...

最新更新