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)
};
相关推荐
毕设源码-朱学姐11 分钟前
【开题答辩全过程】以 基于vue.js的校园二手平台为例,包含答辩的问题和答案
前端·javascript·vue.js
m0_4711996325 分钟前
【JavaScript】Set 和 Map 核心区别与实战用法(ES6 集合全解析)
前端·javascript·es6
hoiii1871 小时前
MATLAB中主成分分析(PCA)与相关性分析的实现
前端·人工智能·matlab
小白|1 小时前
【OpenHarmony × Flutter】混合开发性能攻坚:如何将内存占用降低 40%?Flutter 引擎复用 + ArkTS 资源回收实战指南
开发语言·javascript·flutter
大波V51 小时前
用 nvm 彻底重装 Node 12.22.12(确保干净)
前端
和和和1 小时前
React Scheduler为何采用MessageChannel调度?
前端·javascript
Ric9701 小时前
Mac上Git不识别文件名大小写修改?一招搞定!
前端
momo061171 小时前
用一篇文章带你手写Vue中的reactive响应式
javascript·vue.js
他是龙5511 小时前
第29天:安全开发-JS应用&DOM树&加密编码库&断点调试&逆向分析&元素属性操作
开发语言·javascript·安全
和和和1 小时前
前端应该知道的浏览器知识
前端·javascript