jp-area-select.vue 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <template>
  2. <uni-data-picker :localdata="treeList" v-model="labels" :map="{text:'name', value: 'code'}" :disabled="disabled" popup-title="请选择区域" @change="onchange"></uni-data-picker>
  3. </template>
  4. <script>
  5. import areaService from "@/api/sys/areaService"
  6. export default {
  7. props: {
  8. value: String,
  9. disabled: {
  10. type: Boolean,
  11. default: false
  12. },
  13. },
  14. data() {
  15. return {
  16. labels: '',
  17. treeList: []
  18. }
  19. },
  20. mounted() {
  21. areaService.treeData().then((data) => {
  22. this.treeList = data
  23. }).catch((e) => {
  24. throw e
  25. })
  26. },
  27. watch: {
  28. value(newValue) {
  29. this.labels = newValue; // 在 value 改变时更新 labels
  30. }
  31. },
  32. methods: {
  33. onchange(e) {
  34. this.$emit('input', this.labels)
  35. }
  36. }
  37. }
  38. </script>