我们可以将参数传递给 dart 中的引用方法吗?
Posted
技术标签:
【中文标题】我们可以将参数传递给 dart 中的引用方法吗?【英文标题】:Can we pass parameters to reference methods in dart? 【发布时间】:2020-10-27 05:48:50 【问题描述】:伙计们,我正在尝试访问方法内的变量,我必须将此变量传递给引用方法。这可能吗?
这是我的列表生成器
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;
);
但是我需要使用索引变量,有什么办法可以做到这一点。
【问题讨论】:
【参考方案1】:一种方法是创建这样的方法:
onTaskChangedReference(int index)
return (checkBoxState)
setState(()
tasks[index].taskStatus =
!tasks[indexOfTheTaskTile].taskStatus;
);
所以现在在您的ListView.builder
中,您可以像这样引用它:
...
onTaskCompleted: onTaskChangedReference(index),
...
【讨论】:
我按照你说的做了,然后在构建过程中调用了错误 setState() 或 markNeedBuild()。错误 这可能与TaskTile
实现有关,请检查您的代码中是否有类似内容:***.com/a/47592505/1006555以上是关于我们可以将参数传递给 dart 中的引用方法吗?的主要内容,如果未能解决你的问题,请参考以下文章
我可以将数组和变量作为参数传递给 C# 中的方法吗? [复制]