我使用最新版本(1.0.0-rc.5)从react-select library实现了Select组件。
我可以单击Select元素打开列表。我选择一个值,它关闭列表并显示我选择的值。但是,当我再次单击该元素以显示选项列表时,没有任何反应。它只会在我点击之后打开列表(可能在模糊事件之后)。
我尝试使用autoBlur = {true}道具解决了这个问题,但是我无法在IE 11中找到页面上的下一个元素。
我注意到在演示页面上没有发生这种情况,该页面仍然使用0.9.1版本。
任何人都知道为什么会这样吗?
修改
这是我班级的样本
export class TestSelect extends React.Component {
constructor(props) {
super(props);
}
updateValue = (selectedItem) => {
this.setState({ selectValue: selectedItem });
if (this.props.onChange) {
this.props.onChange(selectedItem);
}
}
render() {
return (
<div id={this.props.id} className="form-styling">
<Label text="React Select" />
<br/><br />
<Select
options={this.props.options}
className="select-class"
clearable={false}
onChange={this.updateValue}
/>
</div>
);
}
}
这是实现类
的页面const TestPage = () =>{
return(
<TestSelect
id="select-id"
options={testSelectOptions}
/>);
}
export const testSelectOptions = [
{ value: '1', label: 'Option 1' },
{ value: '2', label: 'Option 2' },
{ value: '3', label: 'Option 3' }
];
export default TestPage;
答案 0 :(得分:0)
我明白了。选择选项时,我的输入的最小宽度设置为95%。
当尝试在下拉列表中单击时,这会导致event.target.tagName为INPUT,这会导致代码在触发任何焦点事件之前返回。