Flutter学习笔记 —— 二级菜单修改一级菜单数据并更新

前言

今天在开发中遇到这样一个问题,我在一级菜单中设置的某个字段值,在二级菜单中会有修改,但是二级菜单修改后无法实时进行更新状态,经过我的反复测试,特地写下该文章

分析

在我查阅相关搜索引擎和测试后,发现 Navigator.push 返回Future 对象

Future对象大家在开发中很熟悉了,就是异步返回的数据

那这样,我们可以使用 Future.then(val)方法 来实现二级菜单修改一级菜单数据更新状态

代码示例

一级菜单

 ...widget
/**
   * 设置弹出菜单Items
   */
  List<PopupMenuItem> settingPopupMenuItem(){
    List<PopupMenuItem> settingList = [];
    settingList.add(PopupMenuItem(child: TextButton(onPressed: () {
      Future future = Navigator.of(context).push(MaterialPageRoute(builder: (_){
        return SettingPaperless();
      }));
      //异步返回调用setState更新状态即可!
        future.then((value){
          setState(() {
            
          });
      });
    },
    child: Text("设置",style: TextStyle(color: Colors.black))
    )));
    settingList.add(PopupMenuItem(child: Text("版本更新",style: TextStyle(color: Colors.black))));
    return settingList;
  }

二级菜单

...widget
            Container(
              margin: EdgeInsets.fromLTRB(0, 0, 0, 100),
              child: Container(
                width: 150,
                height: 40,
                decoration: BoxDecoration(
                    color: Color.fromRGBO(43, 135, 222, 1),
                    borderRadius: BorderRadius.circular(5)
                ),
                child: TextButton(onPressed: () {
                    MeetingRoomController.changeCurrentMeetingTopicFontSize(double.parse(currentFontSizeController.text));
                    MeetingRoomController.changeOtherMeetingTopicFontSize(double.parse(otherFontSizeController.text));
                    BotToast.showText(text: "保存成功");
                },child: Text("保存",style: TextStyle(color: Colors.white,fontSize: 20,letterSpacing: 10)),
                ),
              ),
            ),

至此,教程结束!

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇