layui我数据请求之后给我返回两组数据,但是两组数据要渲染到一个table里面

提问 已结 9 180
Fly萌新
Fly萌新 2019-6-12
悬赏:20飞吻
layui我数据请求之后给我返回两组数据,但是两组数据要渲染到一个table里面
就是需要data2里的user里的name,对应的是申请人的属性,求帮帮你忙啊

回帖
  • IDyun
    2019-6-13
    table.render({
    elem: '#demp'
    ,url: ''
    ,parseData: function(res){ //res 即为原始返回的数据
    var userMap = {};//用户字典,id 作为key

    $.each(res.data2,function(index,user){
    userMap .push({userId:user.userId,user})
    })

    $.each(res.data,function(index,d){
    d.user=userMap[d.userId];//根据userId 获取用户信息
    })
    return res;
    }
    //,…… //其他参数
    });
    0 回复
  • 在后台处理不就可以了吗?然后再返回数据被调用,直接这样好像不可以的
    0 回复
  • Fly萌新
    2019-6-13
    我是新来公司的,他们原来就用的layui写后台管理系统,所以我怕到时候是别人都用这种方法都能写,我就写不了,多尴尬啊!
    0 回复
  • 你可以先ajax接收两组数据,然后自己处理下,渲染的时候不用url,用data,只要字段对上了,table就能渲染出来
    0 回复
  • IDyun
    2019-6-13


    https://www.layui.com/doc/modules/table.html

    通过数据格式解析的回调函数 parseData 将数据data2.users[i].name 匹配到对应行 data[i]
    0 回复
  • Fly萌新
    2019-6-13
    @IDyun 能说的具体点嘛,谢谢
    0 回复
  • Fly萌新
    2019-6-13
    @怖怖怖怖怖 估计最后不行只好这样了
    0 回复
  • Fly萌新
    2019-6-14
    @IDyun 多谢了,我已经解决了,但是不是用你这种方法,这写法我没看懂,直接站过去也不好使,我自己拼接了一下就好了
    0 回复
  • Fly萌新
    2019-6-14
    贴一下,我自己写的,就是有点low

    , parseData: function (res) { //res 即为原始返回的数据
    console.log("res",res);
    for (let i = 0; i < res.data.length; i++) {
    res.data[i] = {...res.data[i],...res.data2}
    }
    console.log("data",res.data);
    console.log(res);

    return res;
    }
    0 回复
  • Fly萌新
    2019-6-14
    贴一下,我自己写的,就是有点low

    , parseData: function (res) { //res 即为原始返回的数据
    console.log("res",res);
    for (let i = 0; i < res.data.length; i++) {
    res.data[i] = {...res.data[i],...res.data2}
    }
    console.log("data",res.data);
    console.log(res);

    return res;
    }
    0 回复