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)
};
相关推荐
草字27 分钟前
uniapp 悬浮按钮支持可拖拽。可移动。
前端·javascript·uni-app
一位搞嵌入式的 genius30 分钟前
Vue实例挂载:从原理到项目实践的全维度解析
前端·javascript·vue.js·前端框架
waeng_luo36 分钟前
[鸿蒙2025领航者闯关] 表单验证与用户输入处理最佳实践
开发语言·前端·鸿蒙·鸿蒙2025领航者闯关·鸿蒙6实战·开发者年度总结
0思必得041 分钟前
[Web自动化] 开发者工具应用(Application)面板
运维·前端·python·自动化·web自动化·开发者工具
m0_7400437341 分钟前
Vue Router中获取路由参数d两种方式:$route.query和$route.params
前端·javascript·vue.js
风止何安啊43 分钟前
Event Loop 教你高效 “划水”:JS 单线程的“摸鱼”指南
前端·javascript·面试
@菜菜_达1 小时前
goldenLayout布局
前端·javascript
Shirley~~1 小时前
vite的tersor在lib库模式下不生效问题
javascript·vue.js·ecmascript
小飞侠在吗1 小时前
vue 生命周期
前端·javascript·vue.js
小王码农记1 小时前
CSS中自定义属性函数var()
前端·css·vue.js