在地图中将道具传递给温带文字

时间:2017-02-04 16:49:29

标签: javascript templates reactjs ecmascript-6 literals

我试图创建一个动态选择框。我传递了行源数据,以及键显示名称的名称。我无法将数据对象与字符串键或显示名称组合在一起。谢谢!

const { rowSourceData, rowSourceKey, rowSourceDisplay } = this.props;
const rowSource = rowSourceData
    .map(data => {          
      return (
        <option key={data.`${rowSourceKey}`}> {data.`${rowSourceDisplay}`}</option>            
      )       
  })

2 个答案:

答案 0 :(得分:2)

像这样写:

const { rowSourceData, rowSourceKey, rowSourceDisplay } = this.props;
const rowSource = rowSourceData
    .map((data,i) => {          
        return (
            <option key={i/*data[rowSourceKey]*/}> {data[rowSourceDisplay]}</option>            
        )       
    })

例如:

&#13;
&#13;
obj = {a:1,b:2,c:3,d:4};
temp = 'c';
console.log(obj[temp]); // print 3;
&#13;
&#13;
&#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>            
      )       
  })