首页 > 解决方案 > 材料表查找不适用于动态构造的变量

问题描述

我正在传递一个构造为以下查找代码的变量。

let classLookup = {};
let classOptions = responseData.classOptions;
for (var i = 0; i < classOptions.length; ++i) {
    classLookup[i] = classOptions[i];
}

这里 responseData.classOptions 是一个数组:

[{0: "A"}, {1:"B"}....]

然后将 classLookup 构造为:

{0: "A", 1: "B" ....}

将 classLookup 传递给 material-table 不会被识别。

{
    title: 'Class',
    field: 'Class',
    lookup: classLookup
},

但是,如果我将 classLookup 硬编码为

let classLookup = {0: "A", 1: "B" ....} 

它工作正常。

我不知道我构造的变量有什么问题。请帮忙。提前致谢。

标签: material-table

解决方案


发现问题。我将使用 useState 来设置 classLookup。

const [classLookup, setClassLookup] = useState();
let tmp = {};
let classOptions = responseData.classOptions;
for (var i = 0; i < classOptions.length; ++i) {
    tmp[i] = classOptions[i];
}
setClassLookup(tmp)

推荐阅读