reactjs 在基于React类的组件中以编程方式更改选定值

gr8qqesn  于 2023-01-12  发布在  React
关注(0)|答案(1)|浏览(110)

我正在使用基于React类的组件和材质UI来显示下拉菜单。我最初设置了默认值,选择下拉菜单的值会根据用户的点击而更改。但是,我希望以编程方式更改值,例如-我希望更改变量中的值,例如-年龄=40,以及先前具有年龄=30选项的下拉菜单,现在会自动反映值40。有人能给点建议吗?
我尝试在选项中传递value={this.age},并在代码的某个地方通过编程将this.age的值更改为40,但是下拉列表仍然显示值30

ecbunoof

ecbunoof1#

如果您想使用<select>,直接的答案是:

class App extends Component {
  constructor() {
    super();
    this.state = {
      age: "10"
    };
  }

  render() {
    return (
      <div className="App">
        <button onClick={() => this.setState({ age: "40" })}>
          Set age to 40
        </button>
        <p>A dropdown:</p>
        <select
          value={this.state.value}
          onClick={(e) => this.setState({ age: e.target.value })}
        >
          <option value="10" selected={this.state.age === "10"}>10</option>
          <option value="20" selected={this.state.age === "20"}>20</option>
          <option value="30" selected={this.state.age === "30"}>30</option>
          <option value="40" selected={this.state.age === "40"}>40</option>
        </select>
      </div>
    );
  }
}

如果单击该按钮,选择将发生变化。

相关问题