import React from "react"
import axios from "axios";
class CeshiContainer extends React.Component {
constructor(props) {
super(props);
this.state = {
data: [],
province: "",
city: "",
county: "",
provinces: [],
cities: [],
counties: []
}
}
handleChangeprovince(e) {
e.preventDefault()
const data = this.state.data
for(var i in data) {
if(data[i].name == e.target.value) {
this.setState({
cities: data[i].city,
counties: data[i].city[0].area,
province: e.target.value,
city: "",
county: ""
})
}
}
}
handleChangecity(e) {
e.preventDefault()
const cities = this.state.cities
for(var i in cities) {
if(cities[i].name == e.target.value) {
this.setState({
counties: cities[i].area,
city: e.target.value,
})
}
}
}
handleChangecounty(e) {
e.preventDefault()
this.setState({
county: e.target.value
})
}
render() {
return(
<div>
{
this.state.provinces.length!=0
?
<p>
<select onChange={this.handleChangeprovince.bind(this)}>
<option>省</option>
{
this.state.provinces.map((i,index) => (
<option value={i} key={index}>{i}</option>
))
}
</select>
<select onChange={this.handleChangecity.bind(this)}>
<option>市</option>
{
this.state.cities.map((i,index) => (
<option value={i.name} key={index}>{i.name}</option>
))
}
</select>
<select onChange={this.handleChangecounty.bind(this)}>
<option>区</option>
{
this.state.counties.map((i,index) => (
<option value={i} key={index}>{i}</option>
))
}
</select>
</p>
:<p>11111111</p>
}
<div>{this.state.province+this.state.city+this.state.county}</div>
</div>
)
}
componentDidMount() {
const provinces = []
const data = []
//请求API
const url = "***********************";
const resquest = axios.get(url);
resquest.then(res => {
Object.assign(res.data).map(i => {
provinces.push(i.name)
data.push(i)
})
this.setState({
data: data,
provinces: provinces,
cities: data[0].city,
counties: data[0].city[0].area
})
})
}
}
export default CeshiContainer
react地址三级联动
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- (1) react-native-picker第三方组件 (1)安装 (2) link (3) 引入 (4) 使用...
- 【作者前言】:13年入圈,分享些本人工作中遇到的点点滴滴那些事儿,17年刚开始写博客,高手勿喷!以分享交流为主,欢...
- 使用Android-PickerView选择器实现地址选择器 实现效果 导入依赖 导入最新地址数据Json文件到与...