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

Kendo UI Grid模板if条件判断Status字段报user未定义如何解决

Kendo UI Grid Status列条件样式配置解决方案

报错原因

你当前使用的模板写法直接引用Status变量,Kendo UI 模板渲染时需要通过行数据绑定对象访问字段值,未明确指定作用域时会触发变量寻址异常,进而抛出类似user is not defined的关联报错。同时原有模板未覆盖非匹配值的输出逻辑,会导致非On Request状态的内容为空。

正确实现方式

提供3种兼容不同场景的实现方案:

方案1:模板内明确指定data作用域(兼容原有模板写法)

直接修改模板内的字段引用方式,明确通过默认行数据对象data访问字段,是改造成本最低的方案:

field: 'Status',
width: '70px',
template: "#if(data.Status === 'On Request') {#<div class='redAndBold'>#:data.Status</div>#} else {# #:data.Status# #}#"

方案2:函数式模板(推荐复杂逻辑场景)

用函数代替字符串模板,语法更直观,完全避免模板解析的变量作用域问题:

field: 'Status',
width: '70px',
template: function(dataItem) {
  if(dataItem.Status === 'On Request') {
    return '<div class="redAndBold">' + dataItem.Status + '</div>';
  }
  return dataItem.Status;
}

方案3:attributes配置(仅加样式无需修改结构场景)

如果不需要额外包裹div元素,直接给单元格加类即可生效,可以用列属性配置实现,代码更简洁:

field: 'Status',
width: '70px',
attributes: function(dataItem) {
  return dataItem.Status === 'On Request' ? { "class": "redAndBold" } : {};
}

内容的提问来源于stack exchange,提问作者IsaacJan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 08:54:03