【问题标题】:ReactJS: How to pass multiple values in value?ReactJS:如何在值中传递多个值?
【发布时间】:2021-01-15 01:41:48
【问题描述】:

我想在 React 类组件的 value 下传递多个值。喜欢value={this.state.port1, this.state.port2, .....etc }

有什么办法吗?

return (
  <ReactAutocomplete
    items={this.state.searchData}
    shouldItemRender={(item, value) =>
      item.NameWoDiacritics.toLowerCase().indexOf(value.toLowerCase()) > -1
    }
    getItemValue={(item) => item.Name}
    renderItem={(item, highlighted) => (
      <div
        key={item.id}
        style={{ backgroundColor: highlighted ? "#eee" : "white" }}
      >
        {item.Name}
      </div>
    )}
    value={(this.state.Port1, this.state.Port2)}
    onChange={(e) => this.childOnChange(e)}
  />
);

【问题讨论】:

    标签: javascript reactjs react-native autocomplete


    【解决方案1】:

    你可以传递一个对象

    value={{port1: this.state.Port1, port2: this.state.Port2}}

    【讨论】:

    • 你能进一步解释一下吗?
    • 收到了吗?
    • 是的......虽然我的解决方案在这种情况下有所不同......但这也是正确的
    • 是的......虽然我的解决方案在这种情况下有所不同......但这也是正确的
    【解决方案2】:

    你可以像“对象”一样传递它。

    value={{ this.state.Port1, this.state.Port2}}
    

    value={{ value1: this.state.Port1, value2: this.state.Port2 }}
    

    【讨论】:

    • 所以尝试像“对象”一样传递(我已经编辑了答案)
    • 我应该如何定义这个 value1, value2.... 它的显示错误为:TypeError: value.toLowerCase is not a function
    • 发生这种情况是因为您没有在函数 shouldItemRender() 中将数据视为数组
    猜你喜欢
    • 2020-01-17
    • 1970-01-01
    • 2020-08-26
    • 2021-12-09
    • 2017-06-13
    • 2019-05-24
    • 1970-01-01
    • 2020-04-11
    • 1970-01-01
    相关资源
    最近更新 更多