【问题标题】:Add more children to Wrap widget in Dart在 Dart 中将更多子元素添加到 Wrap 小部件
【发布时间】:2020-05-27 14:10:42
【问题描述】:

我有一些 Buttons 包裹在 Card 中,需要时我需要添加更多。

我尝试使用Wrap.children.add,但它不起作用,没有显示错误,没有任何变化。

你知道我该如何解决这个问题吗? 我是 Flutter 和 dart 的新手,所以也许我在做一些愚蠢的事情,我知道。 我创建了一个名为_MyWrap 的全局变量,我的想法是在按下按钮时将Buttons 添加到其中。 “_getrandomButton”创建一个新按钮,其中包含文本(语言),“addRaisedButton”使用该函数在按下按钮时创建按钮并将其添加到“Wrap”。 一个在 Wrap 内创建其他“按钮”的按钮,就是这样。

代码:

Wrap _MyWrap = new Wrap (children: <Widget>[]);
Widget build(BuildContext context) {
.
.
.
child: new Stack(
        children: <Widget>[
          new ListView(
            children: <Widget>[
             _addLanguage(),
            ],
.
.
.
Widget _addLanguage(){

RaisedButton _getrandomButton(String language){
   //creates a RaisedButton
  }
Future addRaisedButton(String name_) async{
  setState(() {
    _MyWrap.children.add(_getrandomButton(name_));
  });
}
.
.
.
child : RaisedButton(
        onPressed: (){
          addRaisedButton("English");
        },

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    您应该保留一份姓名列表。 并在构建中呈现名称列表。 然后 setState 只需在名称列表中添加一个新名称。 触发了一个新构建,它将采用新的名称列表。

    【讨论】:

    • 好的,我将使用名称列表创建包装对吗?
    • @MichealRoss 是的,您使用名称 List 直接在 build 方法中创建 Wrap。
    猜你喜欢
    • 2013-11-24
    • 2013-09-09
    • 1970-01-01
    • 2019-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-02
    • 1970-01-01
    相关资源
    最近更新 更多