<template>
|
|
<!-- 选择地区 -->
|
|
<van-popup v-model:show="showArea" round position="bottom" @close="showArea = false">
|
|
<!-- <van-picker
|
|
title="地区选择" :columns="columns1" @confirm="onConfirm" @cancel="onCancel"
|
|
/> -->
|
|
<van-picker title="选择地区"
|
|
:columns="columns"
|
|
:columns-field-names="customFieldName"
|
|
@cancel="onCancel"
|
|
@confirm="onConfirm" />
|
|
</van-popup>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
props: ['show'],
|
|
name: "selectArea",
|
|
data() {
|
|
return {
|
|
showArea: false,
|
|
columns: [],
|
|
columns1: [{
|
|
text: '星沙区',
|
|
value: '星沙区'
|
|
},
|
|
{
|
|
text: '雨花区',
|
|
value: '雨花区'
|
|
},
|
|
{
|
|
text: '岳麓区',
|
|
value: '岳麓区'
|
|
},
|
|
{
|
|
text: '天心区',
|
|
value: '天心区'
|
|
},
|
|
{
|
|
text: '开福区',
|
|
value: '开福区'
|
|
}
|
|
],
|
|
customFieldName: {
|
|
text: 'name',
|
|
value: 'name',
|
|
children: 'children'
|
|
}
|
|
}
|
|
},
|
|
watch: {
|
|
show: {
|
|
handler(newValue, oldValue) {
|
|
this.showArea = newValue
|
|
},
|
|
immediate: true
|
|
}
|
|
},
|
|
created() {
|
|
this.getCurrentArea();
|
|
},
|
|
methods: {
|
|
onConfirm(selectArea) {
|
|
|
|
this.$store.commit('setArea', selectArea.selectedOptions[2])
|
|
this.showArea = false
|
|
this.$emit('select')
|
|
// this.$emit('select', selectArea.selectedValues.pop())
|
|
},
|
|
onCancel() {
|
|
this.$emit('close')
|
|
},
|
|
getCurrentArea() { //获取当前开放区域
|
|
let self = this;
|
|
this.$api('getCurrentArea', this.queryParams, res => {
|
|
if (res.code == 200) {
|
|
this.columns = this.handleTree(res.result, 'id', 'pid')
|
|
// 使用pop移除并返回数组的最后一个元素
|
|
// const lastElement = this.columns[0].children[0].children.pop();
|
|
// this.columns[0].children[0].children.unshift(lastElement)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
</style>
|