-1

我正在开发 e com 应用程序,当用户单击数量标签时要显示对话框以选择他要购买的数量。

我试图将数字选择器包装在警报对话框中。它显示警报对话框,但问题是滚动时不更新值

在此处输入图像描述

我可以为此使用数字选择器吗?

4

1 回答 1

0

使用下拉按钮组合小部件。DropdownButtonFormField 包含列表 listStatusMenuItems 中保存的 YourClassView 类型对象的集合。_currentStatusComboView 变量保存选定的值。它是在 onChange 事件上分配的。我使用 restful 调用来加载 listStatusMenuItems。

 List<DropdownMenuItem> listStatusMenuItems = <DropdownMenuItem>[];

 StatusComboView _currentStatusComboView;

 _loadStatusCombo() {
      Provider.of<Api>(context, listen: false)
        .getYourClassViews()
       .then((listView) {
     setState(() {
        listStatusMenuItems =
            listView?.map<DropdownMenuItem<YourClassView>>((item) {
      return DropdownMenuItem<StatusComboView>(
          value: item, child: Text(item.displayValue));
    }).toList();
  });
});

 @override
 void initState() {
    super.initState();
    _loadStatusCombo();
 }

  DropdownButtonFormField<YourClassView>(
                              decoration: InputDecoration(
                                  border: OutlineInputBorder(
                                    borderRadius: const BorderRadius.all(
                                      const Radius.circular(5.0),
                                    ),
                                  ),
                                  filled: true,
                                  hintStyle:
                                      TextStyle(color: Colors.grey[800]),
                                  hintText: "Select a Value",
                                  fillColor: Colors.orange),
                              items: listStatusMenuItems,
                              isDense: true,
                              isExpanded: true,
                              value: this._currentStatusComboView,
                              validator: (value) =>
                                  value == null ? 'field required' : null,
                              onChanged: (StatusComboView value) {
                                setState(() {
                                  this._currentStatusComboView = value;
                                });
                              }),
于 2021-05-17T03:16:28.477 回答