Combobox没有参加第一次更新活动

问题描述 投票:0回答:1

我正在使用reactJs + semantic-ui-react建立一个简单的表单。它工作正常,但奇怪的是,没有采取选择的第一个更新事件:

我在下拉列表中更改了值 - >没有任何反应,它保留了前一个 - >我再次这样做 - >它有效

我认为它与初始状态有关:如果我不放任何它似乎工作但我不喜欢空的组合框。这是我的代码片段:

class MyForm extends Component {

constructor(props) {
    super(props);

    this.state = {
        selected: 'A'
    };
}

handleComboChange = evt => {
    console.log('combo change');
    this.setState({ selected: evt.target.value });
}

render() {

    const myOpts = [
        { text: 'A state', value: 'A' },
        { text: 'B state', value: 'B' },
    ];

    return (
        <Form>
            <Form.Group widths="equal">
                <Form.Select onChange={this.handleComboChange} fluid label="State" options={myOpts} value={this.state.selected} />
            </Form.Group>
        </Form>);

} }

编辑:有趣的似乎是一个与语义ui相关的问题,以下工作正常:

<select value={this.state.selected} onChange={this.handleComboChange}>
                    <option value='A'>A state</option>
                    <option value='B'>B state</option>
                </select>
reactjs semantic-ui
1个回答
0
投票

Solved ... semantic-react有自己定义事件的方法,我不得不改变我的处理函数:

handleComboChange = (evt,data) => {
console.log('combo change');
this.setState({ selected: data.value });

}

© www.soinside.com 2019 - 2024. All rights reserved.