我试图创建一个动态选择框。我传递了行源数据,以及键显示名称的名称。我无法将数据对象与字符串键或显示名称组合在一起。谢谢!
const { rowSourceData, rowSourceKey, rowSourceDisplay } = this.props;
const rowSource = rowSourceData
.map(data => {
return (
<option key={data.`${rowSourceKey}`}> {data.`${rowSourceDisplay}`}</option>
)
})
答案 0 :(得分:2)
像这样写:
const { rowSourceData, rowSourceKey, rowSourceDisplay } = this.props;
const rowSource = rowSourceData
.map((data,i) => {
return (
<option key={i/*data[rowSourceKey]*/}> {data[rowSourceDisplay]}</option>
)
})
例如:
obj = {a:1,b:2,c:3,d:4};
temp = 'c';
console.log(obj[temp]); // print 3;
&#13;
答案 1 :(得分:0)
像
一样解决它const rowSource = rowSourceData
.map(data => {
return (
<option key={data[rowSourceKey]}> {data[rowSourceDisplay]}</option>
)
})
但是,由于您使用相同的密钥,因此您将获得重复密钥警告。你的密钥应该是唯一的。您可以将索引作为选项的键,如
const rowSource = rowSourceData
.map((data, index) => {
return (
<option key={index}> {data[rowSourceDisplay]}</option>
)
})