react中option标签如何确定selected?

我想在react中返回一组option,其中有一个option我想把他设置为selected,不知道如何实现。
大致代码

render() {
    let items = ['a', 'b', 'c', 'd']
      .map((fileName) => (
        if(fileName == 'd'){
          <option key={fileName} value={fileName} selected>
            {fileName}
          </option>
        }else{
          <option key={fileName} value={fileName}>
            {fileName}
          </option>
        }
      ));
    return (
      <div>
        <select
          onChange={this.onChooseLocale.bind(this)}
          defaultValue={Settings.get('locales', 'en-US')}
        >
        {items}
        </select>
      </div>
    );
  }

不做判断的话,直接写

let items = ['a', 'b', 'c', 'd']
      .map((fileName) => (
          <option key={fileName} value={fileName}>
            {fileName}
          </option>
      ));

但是加了 if else 就不行了。

已经搞定了~ 不用判断if else, 只需要在option中加上value属性,
当属性和option的value相同时,就会自动显示

阅读 8k
1 个回答

jsx中select标签有value属性,当select的value与option的value相同时,那个option就是选中状态。所以你需要改的是state,而不是直接改dom

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题