Open Emiya0306 opened 5 years ago
当多选Select是一个value受控的元素时,选择的tag和onChange的value会有顺序问题。 多选Select在远程搜索的情况下,当value受控时,选择一个option后,输入框内的值被重置为空。
适用性较广的基础多选,用 Tag 展示已选项
:::demo 为Select设置multiple属性即可启用多选,此时value的值为当前选中值所组成的数组
Select
multiple
value
constructor(props) { super(props); this.state = { options: [{ value: '选项1', label: '黄金糕' }, { value: '选项2', label: '双皮奶' }, { value: '选项3', label: '蚵仔煎' }, { value: '选项4', label: '龙须面' }, { value: '选项5', label: '北京烤鸭' }], value: [] }; } handleInput(value) { console.log(value); this.setState({ value }); } render() { return ( <Select value={this.state.value} multiple={true} onChange={this.handleInput.bind(this)}> { this.state.options.map(el => { return <Select.Option key={el.value} label={el.label} value={el.value} /> }) } </Select> ) }
:::
Description
当多选Select是一个value受控的元素时,选择的tag和onChange的value会有顺序问题。 多选Select在远程搜索的情况下,当value受控时,选择一个option后,输入框内的值被重置为空。
Reproduce Steps
基础多选
适用性较广的基础多选,用 Tag 展示已选项
:::demo 为
Select
设置multiple
属性即可启用多选,此时value
的值为当前选中值所组成的数组:::
Error Trace (if possible)
Solution
Additional Information