Flutter模型动态化赋值的方法是什么 您所在的位置:网站首页 flutter发布js大小 Flutter模型动态化赋值的方法是什么

Flutter模型动态化赋值的方法是什么

#Flutter模型动态化赋值的方法是什么| 来源: 网络整理| 查看: 265

Flutter模型动态化赋值的方法是什么 发布时间:2023-03-13 16:07:43 来源:亿速云 阅读:51 作者:iii 栏目:开发技术

今天小编给大家分享一下Flutter模型动态化赋值的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

实现思路

通过重载 [] 和 []= 运算符,让模型具备像字典一样读写值的方式;

类中实现编码和解码方法备用:

/// 编码 MaptoJson() /// 解码 ... fromJson(Map? map)

实现

1、在运算符 [] 方法中用对象的编码方法 toJson 获取到对应的 Map 读取对应属性值即可;

2、在运算符 []= 方法中对比传入的 key,相同则赋值;

使用示例var model = AppModel(     appIcon: "assets/icon_light_unselected.png",     appSize: "53.2M",     appName: "QQ音乐 - 让生活充满音乐",     appDate: "13:50",     appDescription: """【全新设计 纯净享受】 -重塑全新视觉,轻盈/纯净/无扰/为Mac系统量身设计,从内而外纯净享受; -全新结构设计,整体交互优化/人性化和易用性大提升,操作体验豪华升级"; """,     appVersion: "版本 7.6.0",     isShowAll: false ); print("appName before: ${model["appName"]}");//appName before: QQ音乐 - 让生活充满音乐 model["appName"] = "哈哈哈哈"; print("appName after: ${model["appName"]}");//appName after: 哈哈哈哈实现源码///升级模型 class AppModel {     AppModel({       this.appIcon = "-",       this.appSize = "-",       this.appName = "-",       this.appDate = "-",       this.appDescription = "-",       this.appVersion = "-",       this.isShowAll = false,     });     /// App图标     String appIcon;     /// App名称     String appName;     /// App大小     String appSize;     /// App更新日期     String appDate;     /// App更新文案     String appDescription;     /// App版本     String appVersion;     /// App更新文案     bool isShowAll;     static AppModel? fromJson(Map? map) {     if (map == null) {       return null;     }     return AppModel(       appIcon: map["appIcon"].toString(),       appSize: map["appSize"].toString(),       appName: map["appName"].toString(),       appDate: map["appDate"].toString(),       appDescription: map["appDescription"].toString(),       appVersion: map["appVersion"].toString(),       isShowAll: map["isShowAll"] as bool,       );     }     MaptoJson() {       return {         "appIcon": this.appIcon,         "appSize": this.appSize,         "appName": this.appName,         "appDate": this.appDate,         "appDescription": this.appDescription,         "appVersion": this.appVersion,         "isShowAll": this.isShowAll,       };     }     Object? operator [](String key){       final map = this.toJson();       final result = map[key];       return result;     }     void operator []=(String key, dynamic value){       switch (key) {         case "appName":           this.appName = value;           break;         case "appIcon":           this.appIcon = value;           break;         case "appSize":           this.appSize = value;           break;         case "appName":           this.appName = value;           break;         case "appDate":           this.appDate = value;           break;         case "appDescription":           this.appDescription = value;           break;         case "appVersion":           this.appVersion = value;           break;         case "isShowAll":           this.isShowAll = value;           break;         default:           break;       }     } }

以上就是“Flutter模型动态化赋值的方法是什么”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

推荐阅读: 如何理解Flutter软键盘的原理 如何使用flutter创建可移动的stack小部件功能

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:[email protected]进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

flutter 上一篇新闻:Golang中的sync.Pool怎么用 下一篇新闻:vue el-switch初始值不能正确显示状态如何解决 猜你喜欢 使用Django怎么实现一个缓存系统 tensor和numpy的互相转换的实现示例 Django文件存储 自己定制存储系统解析 如何使用pycharm在本地开发并实时同步到服务器 Django文件存储 默认存储系统解析 如何使用Django 迁移数据库 Django用户认证系统中组与权限的示例分析 如何在python3项目中中eval函数 Django中怎么实现一个用户认证系统 Django用户认证系统 User对象解析


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有