如何在回调中获取实例
Posted
技术标签:
【中文标题】如何在回调中获取实例【英文标题】:How to get to instance in callback 【发布时间】:2019-07-18 22:50:13 【问题描述】:我正在尝试在抽屉中的 ListTile 列表中切换选择?
ListTile(
title: Text("Name"),
leading: Icon(Icons.dashboard),
onTap: ()
currentSelected.selected = false
this.selected = true;
currentSelected = this; // << How to get the instance of ListTile
,
),
【问题讨论】:
【参考方案1】:this
指向包含问题中代码的小部件。
您可以在分配ListTile
的位置创建一个变量,然后可以在onTap
中引用它。
ListTile listTile;
listTile = ListTile(
title: Text("Name"),
leading: Icon(Icons.dashboard),
onTap: ()
currentSelected.selected = false
this.selected = true;
currentSelected = listTile
,
),
return listTile;
最好使用一个值来存储所选项目,例如 itemId
,而不是小部件引用。
【讨论】:
如果使用 itemId,您会保留对带有 itemId 的自定义 ListTile 列表的引用 - 还是使用 Key? 我需要更多的上下文来完全理解你想要完成的事情。我认为您根本不需要对小部件的引用。 谢谢,我只是想让选中的 ListTile 在选中时脱颖而出。我觉得已经有一个解决方案,因为这是一个常见的场景。有人这样做了,但仍然:***.com/questions/49331612/… 我想我应该 setState 并重建,如果它只是 ListTile 的重建就好了 是的,如果你想更新UI,你需要setState()
以上是关于如何在回调中获取实例的主要内容,如果未能解决你的问题,请参考以下文章