【问题标题】:Select options from map function - ReacjJS从地图功能中选择选项 - ReacjJS
【发布时间】:2020-07-14 21:53:48
【问题描述】:

有人能解释一下为什么这段代码不起作用吗?

<div className="row">
  <div className="input-field col s12">
    <select
      onChange={props.handleSelected}
      id="realEstateBroker"
      defaultValue={'Default'}
    >
      <option value="Default" disabled>
        Brak
      </option>
      {
        realEastateBroker &&
          realEastateBroker.map((broker, i) => (
            <option key={i} value={broker.firstName}>
              {broker.firstName}
            </option>
          ))
       }
     </select>
     <label>Opiekun oferty</label>
   </div>
 </div>

地图函数中的选项不会在页面上生成。在 chrome 控制台上,我可以在 select 下看到它们,但在 ul 列表中看不到它们(如果我对选项进行硬编码,则有工作)。工作示例:

<div className="row">
  <div className="input-field col s12">
    <select
      multiple
      onChange={props.handleSelectedMultiple}
      id="balcony"
      defaultValue={[]}
    >
      <option value="Default" disabled>
        Brak
      </option>
      <option value="Balkon">Balkon</option>
      <option value="Taras">Taras</option>
      <option value="Ogród">Ogród</option>
      <option value="Loggia">Loggia</option>
      <option value="Taras na dachu">Taras na dachu</option>
    </select>
    <label>Balkon</label>
  </div>
</div>

realEstateBroker 是对象数组。

【问题讨论】:

  • 我刚刚用模拟的realEastateBroker 值测试了你的代码,它工作正常。您可以登录realEastateBroker 或提供更多信息吗?
  • 只是一个对象数组;对象看起来像这样:0:id:“LdROhGo0U1OHVID6gZhLx2AZekW2”描述:“Opis”电子邮件:“o.test@gmail.com”firstName:“test”lastName:“test”

标签: reactjs html-select


【解决方案1】:
<div className="row">
  <div className="input-field col s12">
    <select
      onChange={props.handleSelected}
      id="realEstateBroker"
      defaultValue={'Default'}
    >
      <option value="Default" disabled>
        Brak
      </option>
      {
        realEastateBroker &&
          realEastateBroker.map((broker, i) => {
            return(<option key={i} value={broker.firstName}>
              {broker.firstName}
            </option>
          )
         })
       }
     </select>
     <label>Opiekun oferty</label>
   </div>
 </div>

您需要从地图返回要在 UI 上呈现的值。希望这会有所帮助!

【讨论】:

  • realEastateBroker.map((broker, i) => () 和 realEastateBroker.map((broker, i) => { return} 所以不是这样的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-16
  • 2019-10-25
  • 1970-01-01
  • 2017-08-14
  • 2017-05-06
相关资源
最近更新 更多