layui table在不发送请求时更新templet操作列

使用的layui的版本为2.4.5 更高的版本好像已经有了更新templet列的方法 而低版本的好像是没有

javascript 复制代码
// 在列表中添加 templet: '#opTpl'
, {field: 'opTpl', title: '操作', fixed: 'left', width: 290, templet: '#opTpl'}

// 所定义的操作列按钮
<script id="opTpl" type="text/html">
    <a class="layui-btn layui-btn-xs" lay-event="viewBtn">
        <i class="layui-icon layui-icon-read"></i>查看
    </a>
    {{# if (d.dialysisStatus != -1){ }}
        <a class="layui-btn layui-btn-xs" lay-event="editBtn">
            <i class="iconfont icon-xinxibianji"></i>编辑
        </a>
    {{# } }}
</script>
javascript 复制代码
that.table.on('tool(dataList)', function (obj) {
     var layEvent = obj.event,
     var data = obj.data;
     if (data && layEvent === 'cancelBtn') {) {
	      data.update({
	            dialysisStatus: -1, // 更新状态值
	            opTpl: '' // 必须要加(对应上面templet: '#opTpl')
	      });
	 }
 });
javascript 复制代码
// 需要改动layui的table.js文件 找到以下代码块(可以全局搜索update) 在update函数中的判断添加 e == 'opTpl'(对应上面templet: '#opTpl') 去更新操作列
var v = function (e) {
    var l = t(this), n = l.parents("tr").eq(0).data("index"), o = a.layBody.find('tr[data-index="' + n + '"]'),
        r = d.cache[a.key][n];
    return t.extend({
        tr: o, data: d.clearCacheKey(r), del: function () {
            d.cache[a.key][n] = [], o.remove(), a.scrollPatch()
        }, update: function (e) {
            e = e || {}, layui.each(e, function (e, l) {
                if (e in r || e == 'opTpl') {
                    var n, d = o.children('td[data-field="' + e + '"]');
                    r[e] = l, a.eachCols(function (t, i) {
                        i.field == e && i.templet && (n = i.templet)
                    }), d.children(f).html(function () {
                        return n ? function () {
                            return "function" == typeof n ? n(r) : i(t(n).html() || l).render(r)
                        }() : l
                    }()), d.data("content", l)
                }
            })
        }
    }, e)
};
相关推荐
徐小夕21 分钟前
PDF无限制预览!Jit-Viewer V1.5.0开源文档预览神器正式发布
前端·vue.js·github
WangJunXiang632 分钟前
Haproxy搭建Web群集
前端
吴声子夜歌1 小时前
Vue.js——自定义指令
前端·vue.js·flutter
小芝麻咿呀1 小时前
vue--面试题第一部分
前端·javascript·vue.js
nibabaoo1 小时前
前端开发攻略---H5页面手机获取摄像头权限回显出画面并且同步到PC页面
javascript·websocket·实时音视频·实时同步·录制
早起傻一天~G2 小时前
vue2+element-UI表格封装
javascript·vue.js·ui
这儿有一堆花2 小时前
深入解析 Video.js:现代 Web 视频播放的工程实践
前端·javascript·音视频
烤麻辣烫2 小时前
JS基础
开发语言·前端·javascript·学习
IT_陈寒3 小时前
Vue的响应式把我坑惨了,原来问题出在这
前端·人工智能·后端