You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建带基础if-else判断的DataTables?表格空白问题求助

解决DataTables条件渲染导致表格空白的问题

我尝试使用以下代码创建带有基础if-else判断的DataTables:

"columns": [
    { "data": "no" },
    { "data": "id_perangkat" },
    { "data": "tanggal" },
    { "data": "nilai" },

    "render": function (data, type, row) {
         if (type==='GET'){
         if (data.nilai >== 1) { return "Apple"; }
         else if (data.nilai >== 51) { return "Banana"; }
         else return "tidak ada data";
     }
   }
]

但表格显示空白,我希望表格能根据if条件展示对应数据。

问题原因及修复方案

  • columns数组结构错误:render必须作为列对象的属性存在,不能单独成为columns数组的元素,否则会破坏DataTables的列配置结构。
  • type参数判断错误:render函数的type参数用于指定渲染场景(如display为显示、sort为排序),不是HTTP请求方法GET,错误判断会导致渲染逻辑不执行。
  • 运算符与条件顺序错误:比较运算符应为>=而非>==;且条件顺序需从大到小排列,否则大数值会被先触发的小条件拦截,永远无法进入后续判断。
  • 缺少非场景下的返回值:当type不是目标场景时,需返回原始数据,否则会导致表格数据缺失、功能异常。

修正后的代码示例

方案1:在nilai列直接渲染判断结果

"columns": [
    { "data": "no" },
    { "data": "id_perangkat" },
    { "data": "tanggal" },
    { 
        "data": "nilai",
        "render": function (data, type, row) {
            // 非显示场景返回原始数据,保证排序、筛选正常
            if (type !== 'display') {
                return data;
            }
            // 从大到小判断条件
            if (data >= 51) { 
                return "Banana"; 
            } else if (data >= 1) { 
                return "Apple"; 
            } else {
                return "tidak ada data";
            }
        }
    }
]

方案2:新增一列展示判断结果

"columns": [
    { "data": "no" },
    { "data": "id_perangkat" },
    { "data": "tanggal" },
    { "data": "nilai" },
    { 
        "data": null, // 不绑定具体字段,通过row获取数据
        "render": function (data, type, row) {
            if (type !== 'display') {
                return row.nilai;
            }
            if (row.nilai >= 51) { 
                return "Banana"; 
            } else if (row.nilai >= 1) { 
                return "Apple"; 
            } else {
                return "tidak ada data";
            }
        }
    }
]

内容的提问来源于stack exchange,提问作者PUTRA RAMADAN NASUTION

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 09:55:19