[英]Jquery datatable data render function called multiple times
我的数据表中只有 4 条记录
但是当我做控制台日志时
columns:[
{
data: {}, name: 'mws_name', className: 'text-center', orderable: true, searchable: true, class:"mws_name", render: function (data,type,row) {
console.log(row.mws_name)
if(data.capabilities.length == 0){
return data.mws_name
}else{
return data.mws_name +' ' + `<span id="tool">🛈</span>`;
}
}
},
我需要删除重复项,因为我必须连接一些数据才能显示。 有人可以告诉我出了什么问题吗?
列渲染函数应该被多次调用 - 每个“类型”一次。 有关详细信息,请参阅正交数据文档。
如果您不想看到多个日志输出,请针对您感兴趣的类型使用if
语句。
例如:
render: function ( data, type, row ) {
if ( type === 'display' ) {
console.log(row.mws_name);
}
... // the rest of your render function logic here
}
不同type
值可用于存储与display
值不同的sort
值或filter
值。
因此,例如,您可能希望通过将display
值包装在一些 HTML 中来将其display
为链接。 但是在排序和过滤时,您希望 DataTables 只使用未更改的原始数据值,而不使用 HTML。
您的渲染函数可能根本不需要对这些正交值执行任何操作,在这种情况下,您可以忽略它们,就像您在问题中的代码中所做的那样。 但是,正如您所注意到的,当您使用日志记录语句时,您将在后台看到它们的效果。
因此,底线是:如果您编写的代码没有引起任何问题,您就不必担心这个问题。 如果您希望日志记录更清晰,请添加if
语句。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.