zoukankan      html  css  js  c++  java
  • Flutter 路由传入中文参数报错无法push问题

    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就可以使用了,这样路由中传递中文参数出错的问题就解决了。

  • 相关阅读:
    shell getopt getopts获取参数
    apache+svn+ladp认证
    SVN 迁移项目分支
    iptables 优先级
    很实用的一篇HTTP状态码
    套路还在——矩阵计算估值
    CU上看到的一个简单的算法帖子
    linux下服务端实现公网数据转发
    c++接口实现与分离(转载)
    c++继承概念
  • 原文地址:https://www.cnblogs.com/joe235/p/11951133.html
Copyright © 2011-2022 走看看