layui.render控制某一列是否可以编辑,先看代码:
,done:function (res, curr, count){//设置查看量那一列的通过status决定是否可以编辑
let tableView = this.elem.next();
layui.each(res.data, function(i, item) {
console.log("curr",curr)
if (item.status === 1) {
tableView.find('tr[data-index=' + i + ']').find('td').eq(2).data('edit', true);
}else{
tableView.find('tr[data-index=' + i + ']').find('td').eq(2).data('edit', false);
}
})
}
这段代码使用了 layui.each 函数对 res.data 数组进行遍历,对于每个数组元素,如果其 status 属性为 1,则将该行第二列的单元格元素的 data-edit 属性设置为 true,否则将其设置为 false。
具体来说,该代码包含以下步骤:
layui.each(res.data, function(i, item) { … }) 表示对 res.data 数组中的每个元素执行回调函数。i 表示元素索引,item 表示元素值。
if (item.status === 1) { … } 表示如果当前元素的 status 属性等于 1,则执行下面的代码块,否则执行 else 代码块。
tableView.find(‘tr[data-index=’ + i + ‘]’) 表示在表格中查找一个 data-index 属性等于 i 的行。
.find(‘td’).eq(1) 表示在该行中查找第二个单元格元素(即第二列)。
.data(‘edit’, true) 或 .data(‘edit’, false) 分别表示将该单元格元素的 data-edit 属性设置为 true 或 false。
需要注意的是,这段代码假设了表格中的每行都有一个 data-index 属性,用于标识该行在数据源中的索引。如果表格中没有该属性,或者该属性的值与数据源的索引不一致,可能会导致代码执行出错。另外,该代码只能控制某一列的数据是否可以编辑,如果需要控制多列,需要将 .eq(1) 修改为其他列的索引。