说我的app()包含一些小部件,并且使代码看起来很漂亮,我为子小部件创建了类。现在,这些儿童小部件包含应该替换App()上的小部件的ONTAP函数,那么我该如何解决此类问题?
您所做的事情的某些代码将是有用的,或者您要在哪里"替换小部件"。
如果通过替换,则意味着在另一个小部件上显示另一个小部件,那么您只需使用布尔来决定显示哪个小部件即可。这些是我将遵循的步骤。
- 在您的应用程序()中制作小部件,并创建一个成员变量布尔值,称为showoriginalwidget = true;
- 在您的子小部件类中,在称为onswapwidget的参数中扮演一个函数。
- 在您的子小部件中的OnTap功能中,请致电onswapwidget()
- 在您的app()中,供应执行此操作的小部件,并用您的功能呼叫
请参见下面的
childWidget(onSwapWidget: (){
setState((){
// toggle the original widget state
showingOriginalWidget = !showOriginalWidget;
});
});
- 您在哪里显示小部件添加了一个条件,以便您根据价值显示一个条件。
示例
...
child: showingOriginalWidget ? originalWidget() : swappedOutWidget()
...
应该解决这个问题。