Flutter 如何在颤振中创建数字选择器作为警报对话框?
我正在开发电子商务应用程序,当用户点击数量标签时,会显示一个对话框,用于选择他要购买的数量。 我试图在警报对话框中包装数字选择器。它显示警报对话框,但问题是滚动时不更新值Flutter 如何在颤振中创建数字选择器作为警报对话框?,flutter,dialog,numberpicker,product-quantity,flutter-alertdialog,Flutter,Dialog,Numberpicker,Product Quantity,Flutter Alertdialog,我正在开发电子商务应用程序,当用户点击数量标签时,会显示一个对话框,用于选择他要购买的数量。 我试图在警报对话框中包装数字选择器。它显示警报对话框,但问题是滚动时不更新值 我可以使用数字选择器吗?使用下拉按钮组合小部件。DropdownButtonFormField保存列表StatusMenuItems中的类视图类型对象的集合。_currentStatusComboView变量保存选定的值。它是在onChange事件上分配的。我使用restful调用加载listStatusMenuItems
我可以使用数字选择器吗?使用下拉按钮组合小部件。DropdownButtonFormField保存列表StatusMenuItems中的类视图类型对象的集合。_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;
});
}),
List listStatusMenuItems=[];
StatusComboView\u currentStatusComboView;
_loadStatusCombo(){
Provider.of(上下文,侦听:false)
.getYourClassViews()
.然后((列表视图){
设置状态(){
列表状态菜单项=
listView?.map((项目){
返回下拉菜单项(
值:项,子项:文本(item.displayValue));
}).toList();
});
});
@凌驾
void initState(){
super.initState();
_loadStatusCombo();
}
下拉按钮窗体字段(
装饰:输入装饰(
边框:大纲输入边框(
borderRadius:const borderRadius.all(
圆形常数半径(5.0),
),
),
是的,
辛茨风格:
TextStyle(颜色:Colors.grey[800]),
hintText:“选择一个值”,
填充颜色:颜色。橙色),
项目:listStatusMenuItems,
是的,
是的,
值:此。\u currentStatusComboView,
验证程序:(值)=>
值==null?“需要字段”:null,
一旦更改:(StatusComboView值){
设置状态(){
这。_currentStatusComboView=值;
});
}),