我不知道这是怎么做到的。我希望能够从任何地方(任何类和部件在任何 dart 文件)与OnTap选项(或其他)找到任何特定的部件,我需要的ID或东西,并改变它的孩子。例如,我可能有一个按钮在AppBar,InkWell在底部NavigationBar,InkWell或列表在许多其他小部件,但无论我点击我需要能够jsut定位一个特定的wifget(通过ID将eb最好),并告诉小部件更改它的孩子到新的东西。
就像你在Javascript/Jquery中所做的那样--加载一些 AJAX 内容或任何东西,然后通过它的ID和$('#divid).html(something)找到DIV。类似的方式来创建小部件。
就像这样:
Widget(
widgetID: 5,
child: Text('Hello'),
)
InkWell(
onTap: () {
FunctionToChangeWidgetChild(
widgetID: 5,
child: SizedBox(width: 100, height: 100),
);
}
)
我不需要改变只是文本从一个文本到其他,但改变儿童完全。从一个小部件到另一个小部件(可能有更多嵌套的小部件,当然,在SizedBox中,我们可能有Row和文本等)。
1条答案
按热度按时间but5z9lq1#
您可以使用
GlobalKey
,这将定位来自小部件的哪个状态是相关的。示例: