69 lines
1.1 KiB
Vue
69 lines
1.1 KiB
Vue
<template>
|
|
<view>
|
|
<view class="form-item">
|
|
<view class="label">所在城市</view>
|
|
<u-input @click="citySelect" input-align="right" type="select" placeholder="请选择所在的城市" v-model="city" />
|
|
</view>
|
|
<!-- 省市区弹窗 -->
|
|
<su-region-picker :show="show" @cancel="show = false" @confirm="cityOk" />
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
components: {
|
|
|
|
},
|
|
props: {
|
|
modelValue: {
|
|
type: String,
|
|
default: ''
|
|
},
|
|
},
|
|
data() {
|
|
return {
|
|
show: false,
|
|
params: {
|
|
province: true,
|
|
city: true,
|
|
area: false
|
|
},
|
|
}
|
|
},
|
|
created() {
|
|
|
|
},
|
|
computed: {
|
|
city() {
|
|
return this.modelValue;
|
|
},
|
|
},
|
|
watch: {
|
|
|
|
},
|
|
methods: {
|
|
citySelect() {
|
|
this.show = true;
|
|
},
|
|
cityOk(e) {
|
|
this.$emit('update:modelValue', e.city_name);
|
|
this.show = false;
|
|
},
|
|
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.form-item {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 15px;
|
|
|
|
.label {
|
|
font-size: 30rpx;
|
|
min-width: 200rpx;
|
|
}
|
|
}
|
|
</style> |