首页 > 解决方案 > 如何将键值传递给选择下拉列表的 onchange 处理程序

问题描述

我正在映射一个数组 [key,val] 以动态创建下拉列表。我想从 select onChange 处理程序中传递密钥,以便可以将所选值存储在数组中的正确索引中。我如何传递密钥。

 AdditionQueryArray.map((val, key) => {
    <Select
        onChange={this.AdditionalFieldHandleChange(key)}
        isMulti
        options={this.state.fieldOptions}
    />
}

AdditionalFieldHandleChange = (selectedOption,key) => {// saving selected option in array by key here}

标签: javascriptarraysreactjsreact-nativekey

解决方案


我认为这是您需要的答案: React js onClick can't pass value to method

例子:

AdditionQueryArray.map((val, key) => {
    <Select
        onChange={() => this.AdditionalFieldHandleChange(key)}
        isMulti
        options={this.state.fieldOptions}
    />
}

AdditionalFieldHandleChange = (selectedOption,key) => {// saving selected option in array by key here}

也许在参数中添加“val”选项,因为您的函数定义中有两个参数?


推荐阅读