flutter - 转换地图数据到类数据
问题描述
在我的应用程序和一个屏幕中,我将类数据传递Map<String,dynamic>
到另一个屏幕,
onTap: (){
Map<String,dynamic> dataMap = Map<String,dynamic>();
dataMap['id']=tickets[index].id;
dataMap['subject']=tickets[index].subject;
dataMap['createdAt']=tickets[index].createdAt;
dataMap['ticketNumber']=tickets[index].ticketNumber;
Navigation.router.navigateTo(context, 'showTicketReplies/$dataMap',transition: TransitionType.fadeIn);
},
在另一个屏幕中,我可以使用以下结构获取此数据:
widget.ticketData = {_InternalLinkedHashMap} size = 1
0 = {map entry} "id" -> [_GrowableList]
key = "id"
value = {_GrowableList} size = 1
0 = "{
id: 1,
subject: hello world,
createdAt: 2019-01-01,
ticketNumber: 3381
}"
现在我想用这个数据制作简单的类变量:
TicketsTableData get _ticket => TicketsTableData.fromJson(widget.ticketData.values.toList()[0][0]);
该widget.ticketData.values.toList()[0][0]
值是:
{id: 1, subject: hello world, createdAt:2019-01-01, ticketNumber: 3381}
但是当我尝试它时,我得到了这个错误:
type 'String' is not a subtype of type 'Map<String, dynamic>'
更新
我想我应该json
在制作类数据之前将其转换为。例如:
TicketsTableData get _ticket => TicketsTableData.fromJson(json.encode(widget.ticketData.values.toList()[0][0].toString()));
但我json
没有任何报价
解决方案
问题解决了!!!
onTap: (){
var dataMap ={};
dataMap["id"] = tickets[index].id;
dataMap["subject"] = tickets[index].subject;
dataMap["createdAt"] = tickets[index].createdAt;
dataMap["ticketNumber"] = tickets[index].ticketNumber;
Navigation.router.navigateTo(context, 'showTicketReplies/${json.encode(dataMap)}',transition: TransitionType.fadeIn);
},
推荐阅读
- perl - 无法在 Windows 上安装 DBD-mysql
- scala - 在scala中,“扁平化”产品类型的最简单方法是什么?
- entity-framework - 如何结合代码优先和数据库优先方法
- javascript - Angular.js 应用程序:消除 #! 来自我的单个帖子的 URL,同时保持 slug
- javascript - 更新反应性属性时,Vuetify v-alert 未显示
- excel - 使用命令按钮清除合并单元格、特定列、每隔一行和未知的最后一行的内容
- java - java不会向数据库添加条目
- php - 在 php 数组中搜索特定单词
- javascript - 没有“var =”的变量可以吗?
- reactjs - 如何更新我在多选中选择的选项?