关于数据列表数据展示的问题

提问 未结 9 90
古刹
古刹 4天前
悬赏:20飞吻
版本:layui 最新 浏览器:所有浏览器
var arr = [ //表头
{field: 'authorizer_appid', title: '微信AppId', minWidth: 150, sort: true, fixed: 'left'}
, {field: 'authorizerInfo.nick_name', title: '昵称', minWidth: 80}
, {field: 'authorizerInfo.principal_name', title: '主体名称', minWidth: 80}
, {field: 'auth_time', title: '授权的时间', minWidth: 80, sort: true}
, {fixed: 'right', width: 80, align: 'center', toolbar: '#barDemo'}
];
以上是数据表格的表头 在进行数据渲染的时候,authorizer_appid,auth_time渲染正常authorizerInfo.nick_name,authorizerInfo.principal_name渲染失败。显示白板 并且数据并无问题,在进行layer弹出层用到data接收正常展示,数据从控制台中查看后段返回信息 也为正常展示
//监听工具条
table.on('tool(authorizerList)', function (obj) {
var data = obj.data;
if (obj.event === 'detail') {
//iframe窗
var index = layer.open({
type: 2,
title: '操作APP:' + data.authorizerInfo.principal_name,
shade: [0],
area: ['47em', '47em'],
anim: 2,
maxmin: true,
content: ['/operating_the_app.html?authorizerAppId=' + data.authorizer_appid, 'no'], //iframe的url,no代表不显示滚动条
end: function () { //回调
}
});
layer.full(index);
}
});
回帖
  • 古刹
    4天前
    其中不存在变量名称错误的问题。望周知
    0 回复
  • Surzace
    4天前
    谁告诉你的在表头可以用对象操作符的?
    0 回复
  • authorizerInfo.nick_name,authorizerInfo.principal_name中间都带点,在获取data中该字段时会当成对象的属性处理
    0 回复
  • 古刹
    4天前
    @單克拉的眼淚 就是一个对象
    0 回复
  • 古刹
    4天前
    @Surzace 那该如何做呢?
    0 回复
  • @古刹 首先你要明白一点的是layui的table表格要是map或者json数据,也就是要有key:value,你这样写
    field: 'authorizerInfo.principal_name'什么鬼,有这个key?
    0 回复
  • 古刹
    4天前
    @Right_tzw 我的确实是json数据
    类似于
    {
    a:ab,
    b:bc,
    c:{
    a:1,
    b:2
    }
    }
    在对象内嵌套了一个对象 所以需要这样的访问形式
    0 回复
  • 古刹
    4天前
    又探索了一番,已经自行解决问题:
    var arr = [ //表头
    {field: 'authorizer_appid', title: '微信AppId', minWidth: 150, sort: true, fixed: 'left'}
    , {templet:'#accountTypeEnumConvert', title: '类型', minWidth: 150, sort: true}
    , {templet: '#nickName', title: '昵称', minWidth: 80}
    , {templet: '#principalName', title: '主体名称', minWidth: 80}
    , {field: 'auth_time', title: '授权的时间', minWidth: 80, sort: true}
    , {fixed: 'right', width: 80, align: 'center', toolbar: '#barDemo'}
    ];


    <script type="text/html" id="nickName">
    <div>
    {{d.authorizerInfo.nick_name}}
    </div>
    </script>
    <script type="text/html" id="principalName">
    <div>
    {{d.authorizerInfo.principal_name}}
    </div>
    </script>
    最后是要使用templet标签layui.laytpl组建进行了自定义加载
    0 回复
  • Surzace
    3天前
    @古刹 不建议这样用 建议用数据格式化 parseData 属性
    0 回复