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)
};
相关推荐
GreenTea33 分钟前
一文搞懂Harness Engineering与Meta-Harness
前端·人工智能·后端
killerbasd2 小时前
牧苏苏传 我不装了 4/7
前端·javascript·vue.js
吴声子夜歌2 小时前
ES6——二进制数组详解
前端·ecmascript·es6
码事漫谈3 小时前
手把手带你部署本地模型,让你Token自由(小白专属)
前端·后端
ZC跨境爬虫3 小时前
【爬虫实战对比】Requests vs Scrapy 笔趣阁小说爬虫,从单线程到高效并发的全方位升级
前端·爬虫·scrapy·html
爱上好庆祝3 小时前
svg图片
前端·css·学习·html·css3
橘子编程3 小时前
JavaScript与TypeScript终极指南
javascript·ubuntu·typescript
王夏奇3 小时前
python中的__all__ 具体用法
java·前端·python
叫我一声阿雷吧4 小时前
JS 入门通关手册(45):浏览器渲染原理与重绘重排(性能优化核心,面试必考
javascript·前端面试·前端性能优化·浏览器渲染·浏览器渲染原理,重排重绘·reflow·repaint
大家的林语冰4 小时前
《前端周刊》尤大开源 Vite+ 全家桶,前端工业革命启动;尤大爆料 Void 云服务新产品,Vite 进军全栈开发;ECMA 源码映射规范......
前端·javascript·vue.js