flutter自带路由传递参数和使用第三方库fluro
路由传递参数都可以通过一下方式解决问题
String jsonString = json.encode(mapValue); var jsons = jsonEncode(Utf8Encoder().convert(jsonString)); Application.router.navigateTo(context, '/informationDetail?informationString=${jsons}',transition: TransitionType.inFromRight);
其中mapValue
是你需要传递的参数,我是将所有下个界面需要使用的参数全部装入这个map中然后通过json去编码转义,比如我的:
mapValue = { “name” = “张三”, “Id” = “123”, “age” = “25”, ......... “key” = “value” }
中间可以组合很多,这个可以根据大家具体的求来进行组装就可以了,走到这个地方还没有完,因为在下个界面你要对传过来的值进行反转,翻转方法如下
var list = List<int>(); ///字符串解码 jsonDecode(informationString).forEach(list.add); final String value = Utf8Decoder().convert(list); var mapValue = json.decode(value);
上面的informationString
就是上个界面传入的数据,然后进行翻转的字符串,最后得到的mapValue
就可以使用了,这样路由中传递中文参数出错的问题就解决了。