uniapp中多选省市
时间: 2023-10-25 16:08:44 浏览: 126
可以使用uni-app提供的picker组件来实现多选省市的功能。具体实现步骤如下:
1. 在页面中引入picker组件,并定义一个数组用于存储已选中的省市信息:
```
<template>
<view>
<view class="picker-wrap">
<picker mode="multiSelector" :value="value" @change="onChange">
<view class="picker">{{provinceList[value[0]].name}} {{cityList[value[1]].name}}</view>
<view class="picker">{{provinceList[value[2]].name}} {{cityList[value[3]].name}}</view>
</picker>
</view>
</view>
</template>
<script>
export default {
data() {
return {
value: [0, 0, 0, 0], // 默认选中第一个省市
provinceList: [], // 省份列表
cityList: [], // 城市列表
selectedList: [] // 已选中的省市列表
}
},
mounted() {
// 初始化省份列表和城市列表
this.initData()
},
methods: {
initData() {
// 省份列表和城市列表的数据可以通过接口获取
// 这里只是简单地模拟数据
let provinceList = [
{id: 1, name: '北京'},
{id: 2, name: '上海'},
{id: 3, name: '广东'}
]
let cityList = [
[{id: 11, name: '北京市'}],
[{id: 21, name: '上海市'}],
[{id: 31, name: '广州市'}, {id: 32, name: '深圳市'}]
]
this.provinceList = provinceList
this.cityList = cityList
},
onChange(e) {
let value = e.detail.value
let selectedList = []
selectedList.push(this.provinceList[value[0]].name + ' ' + this.cityList[value[1]].name)
selectedList.push(this.provinceList[value[2]].name + ' ' + this.cityList[value[3]].name)
this.selectedList = selectedList
}
}
}
</script>
<style>
.picker-wrap {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
.picker {
font-size: 16px;
color: #333;
padding: 10px;
}
</style>
```
2. 在mounted钩子函数中初始化省份列表和城市列表的数据。
3. 在onChange方法中获取当前选中的省市信息,并将其存储到selectedList数组中。
4. 在页面中展示已选中的省市信息。
阅读全文