0

提交表单后如何强制“选择”返回“选择...”?

<select name="activated" className="form-control" as="select" onChange={handleInputChange}>  
         <option value={values.activated} selected>Choose...</option>           
         <option value="Activated">Activated</option>
         <option value="Deactivated">Deactivated</option>     
</select>  

我想我必须使用模糊或聚焦方法。有什么想法?

4

2 回答 2

0
import Select from 'react-select';

export class Test extends Component {
  this.setState = {
    selection: 0,
   };

  onSelectChange = (e) => {
    this.setState({ selection: e.value });
  }

  onSubmit = (e) => {
    e.preventDefault();
    const { selection } = this.state;
    // Post request logic comes here
    // Reset Select component to original default state
    this.setState({selection: 0});
  }

  render() {

    const options = [
      { label: 'Choose something', value: 0 },
      { label: 'Item 1', value: 1 },
      { label: 'Item 2', value: 2 },
    ];

    return (
      <form onSubmit={this.onSubmit}>
        <Select
          options={options}
          value={this.state.selection}
          onChange={this.onSelectChange}
        />
       //submit button here          
      </form>
    );

使用 value prop 代替 defaultValue 并通过 state 管理它。在提交时,将该 state 重置为初始值,即 0。

于 2020-09-15T08:22:33.260 回答
0

非常感谢,但我找到了一个更简单的解决方案。添加我的 handleSubmit 函数,例如: document.getElementById("myId").selectedIndex = 0

于 2020-09-16T05:40:58.213 回答