templet中使用异步请求处理数据后渲染无效果

提问 未结 3 903
Queenie
Queenie 2018-5-8
悬赏:20飞吻
版本:layui 2.2.5 浏览器:chrome
如题,在templet使用异步请求处理数据,但是请求回来后表格数据没有变化
代码:

页面:


我自己的思路是:异步和表格渲染的先后顺序不一样,但是要如何控制异步请求完的数据用于表格渲染呢?
回帖
  • 模板不支持这种异步的。需要异步处理的可以放在done回调中去处理或者你在templet也可以写,但是写的时候templet只返回一个普通的div就可以了当然要加上一会异步回来能找到的selector,返回的时候就把内容更新到这个div里面去就可以了。比如
    templet: function(d) {
    $.ajax({
    ...,
    success: function(data){
    // 成功之后的处理逻辑。
    $('#my_templet_company_' +d.id).html('<span>'+data.name+'</span>');
    }
    });
    return '<div id="my_templet_company_'+d.id+'"><div>';
    }
    上面这个能不能使,会不会出现交易返回了页面的dom还不存在的情况得验证一下。
    稳妥的就是放在done去处理。templet一样返回一个特殊的节点就可以,最好是用一个特殊的class之类的,然后done遍历这些特殊节点,再去发交易一个一个替换。
    0 回复
  • 阿滔
    2019-1-21

    请问,这种下拉框的数据能不能联动呢,比如,我选了其它城市,隔壁的单元格能根据下拉框的值而改变成不同的值。希望能回答一下
    0 回复
  • Queenie
    4天前
    @阿滔 应该可以实现的,修改这行数据需要联动的字段,主要思路就是table更新某行数据这样吧
    0 回复