import React from "react";
import { render } from "react-dom";
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
projects: [],
value: ""
};
}
componentDidMount() {
// 模拟ajax调用,成功之后把需要改变的默认值赋值给this.state.value
setTimeout(() => {
this.setState({
projects: [
{ id: 1, name: "花生" },
{ id: 2, name: "苹果" },
{ id: 3, name: "杨桃" }
],
value: 1
});
}, 3000);
}
handleClick() {
this.setState({
projects: [
{ id: 4, name: "水果" },
{ id: 5, name: "西瓜" },
{ id: 6, name: "哈哈哈" }
],
value: 4
});
}
handleChange = e => {
this.setState({
value: e.target.value
});
};
render() {
let projects = this.state.projects;
return (
<div>
<button onClick={this.handleClick.bind(this)}>异步拉取数据</button>
{/* 这里不用再去判断project的长度是否大于0,在ajax里面做判断就行,如果小于零或者不存在它就是默认值 */}
<select
defaultValue=""
value={this.state.value}
onChange={this.handleChange}
>
{projects.length > 0 &&
projects.map((item, i) => {
return (
<option key={i} value={item.id}>
{item.name}
</option>
);
})}
</select>
</div>
);
}
}
render(<App />, document.getElementById("root"));
React Select默认值选中问题
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- JavaScript部分 js例子如下: 推荐使用菜鸟教程在线编辑器进行测试玩耍,效果如图1和图2所示。 jQue...
- ListView 在移动开发中是个很常用对的控件,不管是andorid 还是ios,在显示长列表视图时,都是...
- 1、通过select的属性来设置选中项,此方法可以在动态语言如php后台根据需要控制输出结果 2、通过前端js来控...
- 最近开始学习vue,在学习的过程中遇到的问题将记录在这里。今天遇到的第一个问题就是,select下拉列表设置默认选...