Flutter 可见性小部件打开/关闭刷新整个页面

Flutter 可见性小部件打开/关闭刷新整个页面,flutter,widget,Flutter,Widget,如果可见性小部件不允许子小部件显示,如何停止刷新小部件 下面的示例显示了可见性小部件,该小部件根据条件打开/关闭子小部件,但由于该小部件隐藏和显示,其他小部件必须调整/重新渲染 那么,所有人都想停止重新呈现其他小部件?我该怎么做 Row( children: <Widget>[ MyWidget1(), MyWidget2(), Visibility( visible: condition == true, chil

如果可见性小部件不允许子小部件显示,如何停止刷新小部件

下面的示例显示了
可见性
小部件,该小部件根据条件打开/关闭子小部件,但由于该小部件隐藏和显示,其他小部件必须调整/重新渲染

那么,所有人都想停止重新呈现其他小部件?我该怎么做

Row(
  children: <Widget>[
    MyWidget1(),
    MyWidget2(),
    Visibility(
          visible: condition == true,
          child: MyWidget3(),
   ),
  ],
);
行(
儿童:[
MyWidget1(),
MyWidget2(),
可见度(
可见:条件==true,
子项:MyWidget3(),
),
],
);

最常见、最简单的解决方案是使用

提供者-


打包以管理小部件状态,然后您可以使用消费者小部件重建需要更新的小部件。

找到了解决方案

Visibility
Widget有几个属性可以帮助我们解决这个问题

维护状态:在子窗口小部件隐藏时维护其状态

维护动画:在子窗口小部件隐藏时维护其动画

maintensize:在子窗口小部件空间隐藏时对其进行维护

使用所有这些属性,我们可以保持
MyWidget3(
)小部件的原样

 Visibility(
   visible: condition == true,
   maintainState: true,
   maintainAnimation: true,
   maintainSize: true,
   child: MyWidget3(),
 )

你是说你不想让其他小部件调整它们的位置并保持在相同的位置,不管
MyWidget3
是可见还是不可见?是的,这就是我想要的,我发现解决方案将发布在这里