创建一个在颤动中创建小部件的按钮[关闭]
Posted
技术标签:
【中文标题】创建一个在颤动中创建小部件的按钮[关闭]【英文标题】:Create a button which creates a widget in flutter [closed] 【发布时间】:2020-12-10 18:54:20 【问题描述】:我想定义一个函数或类似的东西来在我的按钮按下时制作一个新的小部件, 另外,我想在特定列中创建该小部件。 有人可以帮忙吗?
【问题讨论】:
【参考方案1】:您可以定义 bool 变量来控制显示或隐藏该小部件,并在按钮 onPressed 方法中更改 setState 中的该变量。
类似这样的代码:
var _showWidget = false;
void changeShow()
setState(()
_showWidget = !_showWidget;
);
@override
Widget build(BuildContext context)
return SafeArea(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
RaisedButton(
child: _showWidget? Text('Show'): Text('Hide'),
onPressed: changeShow
),
if (_showWidget)
Container(
width: 150,
height: 50,
color: Colors.green,
child: Center(child: Text('Hello Word')),
),
],
),
);
【讨论】:
【参考方案2】:好吧,您基本上可以在您的小部件中使用不可见和可见字段,即小部件已经制作,您可以稍后为其分配一个功能..ex 当按下按钮时,小部件变为可见并且您将函数或值传递给它。
【讨论】:
它会产生一个空白,不是吗? 我相信你没有使用正确的语法来实现你想要实现的目标。如果小部件从服务器获取数据,你可以尝试为它创建一个未来的构建器,以上是关于创建一个在颤动中创建小部件的按钮[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何在颤动的另一个有状态小部件中访问在一个有状态小部件中创建的对象