为什么setState函数不使用下拉

发布于 2025-02-07 07:35:56 字数 733 浏览 0 评论 0原文

我在扑来的落下序幕,绘制了地图< string,int>作为价值列表。但是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(),
    ));

I made a dropdown in flutter that takes a Map<String, int> as a list of values.But setState doesnt work.What am i doing wrong again

   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(),
    ));

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

多情出卖 2025-02-14 07:35:56

dropdownbutton value是硬编码(value:等级[“ aa”],),替换

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

 body: DropdownButton<int>(
      value: val,

DropdownButton value is hard-coded(value: grades["AA"],), replace

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

With

 body: DropdownButton<int>(
      value: val,
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文