37 lines
923 B
Vue
37 lines
923 B
Vue
<template>
|
|
<uni-data-select
|
|
v-model="modelValue"
|
|
:localdata="options"
|
|
v-bind="omit($attrs,['change'])"
|
|
placeholder="请选择地域"
|
|
/>
|
|
</template>
|
|
|
|
<script setup>
|
|
import {defineModel, defineOptions, defineProps, getCurrentInstance, onMounted, ref} from 'vue'
|
|
import {omit} from "radash";
|
|
import UniDataSelect from "../uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue";
|
|
import {getAreaList} from "../api/area";
|
|
|
|
defineOptions({
|
|
name: "Area",
|
|
inheritAttrs: false
|
|
})
|
|
|
|
const modelValue = defineModel()
|
|
const props = defineProps([])
|
|
const {proxy} = getCurrentInstance()
|
|
|
|
const options = ref([])
|
|
|
|
onMounted(async () => {
|
|
const {data} = await getAreaList()
|
|
options.value = data.sort((a, b) => {
|
|
return a.deptName.localeCompare(b.deptName, 'zh-CN');
|
|
}).map(i => ({
|
|
value: i.deptId,
|
|
text: i.deptName
|
|
}))
|
|
})
|
|
</script>
|