【问题标题】:How to create a editable dropdownbutton?如何创建可编辑的下拉按钮?
【发布时间】:2020-04-27 17:40:48
【问题描述】:

我是 Flutter 的新手,正在练习使用下拉按钮。所以我制作了一个基本的应用程序,它允许您创建新的字符串值并将其存储在云中,然后用这些值填充下拉按钮。我想添加一个功能,我们可以通过长按来编辑 dropdropmenu 项的成员。

这是我的下拉菜单按钮

StreamBuilder<QuerySnapshot>(
                  stream: _fireStore.collection("items").orderBy("value").snapshots(),
                  builder: (context, snapshots) {
                    if (!snapshots.hasData) {
                      CircularProgressIndicator();
                    }
                    return DropdownButton(
                      items: itemList,
                      value: dropDownValue,
                      onChanged: (newValue) {
                        setState(() {
                          dropDownValue = newValue;
                        });
                      },
                    );
                  },
                ),

这是下拉菜单项

List<DropdownMenuItem> itemList = [];
  String dropDownValue;


void getList() async {
    await for (var snapshot in _fireStore.collection("items").snapshots()) {
      itemList.clear();
      for (var message in snapshot.documents) {
        itemList.add(DropdownMenuItem(
          value: message.data["value"].toString(),
          child: Text(
            message.data["value"],
          ),
        ));

      }
    }
  }

我找不到任何其他解决方案。

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    将您的每个项目包装在 GestureDetector 中,并将一个函数传递给 LongPress() 回调以更新云数据。

    【讨论】:

    • 谢谢!!我将文本小部件包装在手势检测器的 MenuItems 中,它可以工作。
    猜你喜欢
    • 2014-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-30
    • 2011-07-09
    相关资源
    最近更新 更多