DataTable中根据status列值渲染username列链接的异常问题
解决DataTable中根据status列值渲染username链接的问题
问题原因
原代码的判断条件{data:"status"} === 'N'存在错误:该写法创建了一个新对象,与字符串'N'进行全等比较时结果永远为false,因此无论status列的值是什么,都会执行else分支,直接显示不带链接的用户名。
修正方案
DataTable的render函数提供了第三个参数row,它包含当前行的完整数据对象,我们可以通过它获取status列的真实值来进行判断。
修正后的代码:
data: 'username', render: function (data, type, row) { if (row.status === 'N') { return `<a href="#"> ${data}</a>`; } else { return data; } }
关键说明
- 使用
row.status直接获取当前行的状态值,这是DataTable获取行内其他列数据的标准方式 - 原代码中无意义的
console.log已移除(若需调试可自行保留)
内容的提问来源于stack exchange,提问作者Tarun Varma
相关产品推荐
相关产品推荐

