【问题标题】:onTap replace widget from another file flutteronTap 从另一个文件中替换小部件颤动
【发布时间】:2019-03-08 17:24:54
【问题描述】:

假设我的 App() 包含一些小部件,为了使代码看起来更漂亮,我为子小部件创建了类。现在这些子小部件包含 onTap 函数,这些函数应该替换 App() 上的小部件,那么我该如何解决这类问题呢?

【问题讨论】:

  • 您想导航到另一个屏幕吗?能不能加点代码详细解释一下?

标签: flutter flutter-layout


【解决方案1】:

您正在执行的某些代码或您尝试“替换小部件”的代码会很有用。

如果替换是指在另一个位置显示不同的小部件,那么您只需使用布尔值来决定显示哪个小部件。这些是我将要执行的步骤。

  1. 使您的 App() 中的小部件有状态,并创建一个名为 showsOriginalWidget = true 的成员变量 boolean;
  2. 在您的子小部件类中,在名为 onSwapWidget 的参数中接收一个函数。
  3. 在子窗口小部件的 onTap 函数中调用 onSwapWidget()
  4. 在您的 App() 中提供执行此操作的小部件以及您的回调函数

见下文

childWidget(onSwapWidget: (){
  setState((){
     // toggle the original widget state
     showingOriginalWidget = !showOriginalWidget;
  });
});
  1. 在您显示小部件的位置添加一个条件,以便根据值显示任一条件。

例子

...
child: showingOriginalWidget ? originalWidget() : swappedOutWidget()
...

这应该可以解决问题。

【讨论】:

    猜你喜欢
    • 2020-10-15
    • 1970-01-01
    • 1970-01-01
    • 2020-11-15
    • 2021-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-08
    • 2020-08-20
    相关资源
    最近更新 更多