数据表格自定义列模板使用JSON.parse解析json字符串报错

提问 已结 3 41
昵称已存在
悬赏:20飞吻
版本:layui 2.5.4 浏览器:火狐70
{{# var status = JSON.parse('{"1":{"1":"申请中","2":"已取消","3":"审核失败","4":"等待退款","5":"已完成"}}')}}
报错
Laytpl Error:SyntaxError: '' string literal contains an unescaped line break
这样写:
{{# var status = JSON.parse('{"1":"中文"}')}}不报错
这样
{{# var status = JSON.parse('{"1":[{"1":"申请中","2":"已取消","3":"审核失败","4":"等待退款","5":"已完成"}]}')}}
也不报错

但是第一行也是正确的json字符串,为什么会报错?
回帖
  • 不知道的问题,但我是这么写的数据表格里的东西
    {field:'fdocumentstatus', title: '单据状态',sort:true
    ,templet: function (d) {
    switch (d.fdocumentstatus) {
    case 'A':
    return "创建";
    case 'D':
    return "重新审核";
    case 'C':
    return "已审核";
    case 'B':
    return "审核中";
    case 'Z':
    return "暂存";
    default:
    return "未知类型";
    }
    }
    }
    0 回复
  • 问题找到了,是因为json字符串里有 }} ,laytpl会把他解析成结束符号,就会报错,但是也不能修改laytpl的开始结束符号,因为数据表格本身就用了laytpl,修改了表格就会渲染错误,怎么解决
    0 回复
  • @白手起家想发财 明白了,不用模板用函数[ok]
    0 回复