0

我想定义一个函数或类似的东西来在我的按钮按下时制作一个新的小部件,另外,我想在特定列中创建那个小部件。有人可以帮忙吗?

4

2 回答 2

1

您可以定义布尔变量来控制显示或隐藏该小部件,并在按钮 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')),
            ),
        ],
      ),
    );
  }
于 2020-08-21T12:15:14.113 回答
0

好吧,您基本上可以在您的小部件中使用不可见和可见字段,即小部件已经制作,您可以稍后为其分配一个功能..ex 当按下按钮时,小部件变为可见并且您将功能或值传递给它。

于 2020-08-21T11:31:53.660 回答