【问题标题】:Why setstate function not working with dropdown为什么 setstate 函数不适用于下拉菜单
【发布时间】:2022-06-15 00:41:16
【问题描述】:

我在颤振中做了一个下拉菜单,它采用 Map 作为值列表。但是 setState 不起作用。我又做错了什么

   Map<String, int> grades = {
      "AA": 5,
      "BB": 4,
     };

   int val=5;
    @override
    Widget build(BuildContext context) {
     return Scaffold(
        body: DropdownButton<int>(
      value: grades["AA"],
      onChanged: (newVal){
        setState((){
        if(newVal!=null){  val=newVal;}
        });
      },

      items: grades
          .map((key, value) {
            return MapEntry(
                key,
                DropdownMenuItem<int>(
                  value: value,
                  child: Text(key),
                ));
          })
          .values
          .toList(),
    ));

【问题讨论】:

    标签: flutter


    【解决方案1】:

    DropdownButton 值是硬编码的(value: grades["AA"],),替换

     body: DropdownButton<int>(
          value: grades["AA"],
    

     body: DropdownButton<int>(
          value: val,
    

    【讨论】:

      猜你喜欢
      • 2014-07-07
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-08
      • 1970-01-01
      • 2015-07-09
      相关资源
      最近更新 更多