首页 > 解决方案 > 使用返回字符串的函数定义 Kendo UI 网格列模板

问题描述

我需要为 jQuery 列创建一个 Kendo UI,它使用一个函数来确定模板。本质上,我从后端收到的数据给了我一个数字,我需要将该数字与另一个数据库表中的相应条目相匹配。找到匹配项后,我需要设置列模板以显示该条目。

template: function (e) {
    countryData.forEach(function (country) {
        let countryDesc;
        if (country.countryCode == e.countryCode) {
             countryDesc = country.description;
             return countryDesc;
         }
     })
 }

这是我写的函数。countryData是一个 JSON 对象数组,其中包含带有代码的国家/地区列表,我正在匹配该代码e.countryCode以获得正确的国家/地区。然后将其分配给 countryDesc 并返回。

运行时,列仅显示为“未定义”。我对为什么这不起作用感到困惑,就好像我这样做例如:template: "foo",该列将显示foo. 当然,我所做的只是返回一个字符串,所以这应该有效吗?

标签: javascriptjquerykendo-uikendo-grid

解决方案


因此,在尝试了很多事情之后,用.forEach普通的替换了for这个问题。

template: function (e) {
    let country;
    for (i = 0; i < countryData.length; i++) {
        if (countryData[i].countryCode == e.countryCode) {
           country = countryData[i].description;
    }
    return country;
}

推荐阅读