Flutter模型动态化赋值的方法是什么 | 您所在的位置:网站首页 › flutter发布js大小 › Flutter模型动态化赋值的方法是什么 |
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 实验室设备网 版权所有 |