首页 > 解决方案 > 按索引反应选择 OnChange

问题描述

谁能帮我卡在 React Select Onchange by Index

   <Select
       name="taskTitle"
       value={resultTitle[idx]}
       onChange={this.handleChange(idx)}
       options={optionResultTask}
   />

handleChange = idx => e => {
    const { name, value } = e.target;
    console.log(idx);
    const task_results = [...this.state.task_results];
    task_results[idx] = {
      [name]: value
    };
    this.setState({
      task_results
    });
  };

密码沙盒

我的 OnChange 函数出错谢谢。

标签: reactjsreact-select

解决方案


这就是我的做法。

我的选择(在一个可以有 N 个子节点的 UI 内渲染,通过映射构建):

{data.items.map((item, index) => 
  <Select
    options={dogFoodOptions}
    isMulti={false}
    name="dogfood"
    id="dogfood"
    value={item.value}
    onChange={handleDogFoodChange(index)}
    />
}

功能:

const handleDogFoodChange = index => (option) => {
    console.log(`index: ${index}, value: ${JSON.stringify(option)}`)
}

推荐阅读