Javascript 如何处理选择中显示的文本?

Javascript 如何处理选择中显示的文本?,javascript,reactjs,Javascript,Reactjs,我只需要显示所选选项的一部分: const refertiItems = this.state.referti.map((referti, i) => { return ( <option key={referti.hash_referto} > [ {referti.proprietario} - {referti.tipo_esame} - {referti.data_esame.split('T')[0]} ] {referti.hash_referto}

我只需要显示所选选项的一部分:

const refertiItems = this.state.referti.map((referti, i) => {
  return (
    <option key={referti.hash_referto} >
  [ {referti.proprietario} - {referti.tipo_esame} - {referti.data_esame.split('T')[0]} ] {referti.hash_referto}
    </option>
  )
});
然后

        Label for="type" text="Seleziona un referto (proprietario - tipo esame - data)" />
        <select
          name="careGiver"
          placeholder="Selezionare Referto"
          onKeyPress={this.onEnter}
          value={this.codiceReferto}
          onChange={this.handleInputChange}
        >
          <option default value="vuoto" />
          {refertiItems}
        </select>
当我选择一个选项时,我只想显示{referti.proprietario}和{referti.tipo_esame},而不是{referti.hash_referto}。 我不能把它从选项中去掉


有什么建议吗?

您完全可以更新文本。您可以通过在选择项以显示适当的显示文本时更新状态数组来实现这一点。这只是一个粗略的例子,但如何做到这一点的概念如下所示:

常数{ useState, 使用效果, useRef }=反应; 功能应用程序{ 常量[opts,setOpts]=useState[{ 标签:"一",, 活动:'一', 非活动:“一个删除我” }, { 标签:“两个删除我”, 活动:'两个', 非活动:“两个删除我” }, { 标签:“三个删除我”, 主动:"三",, 非活动:“三个删除我” }, ]; 回来 { //有更好的方法来实现深度复制,我们应该考虑替换它 让deepCopy=JSON.parseJSON.stringifyopts.mape=>{ e、 label=e.active==值?e.active:e.inactive; 返回e; }; setOptsdeepCopy; }}> {opts.mapo=> {o.label} ; } const el=document.querySelectorapp; ReactDOM.render,el;
如果这是React代码或其他框架的JSX,或者只是JSX本身,请相应地标记它。因此,当选择关闭时,您希望它显示一个东西,但当它打开时,您希望它显示其他东西。。。?听起来就是这样。不幸的是,我不认为你能用一个标准的select来实现这一点,因为尽管你在select关闭或输入时通常会得到一个事件,但当它打开时,你不一定会得到一个事件,如果你打开了,那就是点击,它不会告诉你这意味着打开还是关闭。当选择该选项时,您将不得不使用附加文本,使用列表中没有该文本的文本,或者完全执行其他操作。