province-field.vue 878 B

12345678910111213141516171819202122232425
  1. <template>
  2. <mx-form-item v-if="disabled" v-model="model[propProvince]" :prop="propProvince" :label="labelProvince" disabled/>
  3. <mx-form-item v-else :prop="propProvince" :label="labelProvince">
  4. <mx-picker v-model="model[propProvince]" placeholder="请选择省份" :data="provinceOptions"/>
  5. </mx-form-item>
  6. </template>
  7. <script setup>
  8. import {createPropDefine} from "@/utils";
  9. import {useInjectFormData} from "@/pages/login/components/hooks/useFormDataInjection";
  10. import {useInjectProvince} from "@/pages/login/components/hooks/useProvinceInjection";
  11. defineProps({
  12. propProvince: createPropDefine('provinceName'),
  13. labelProvince: createPropDefine('所在省份'),
  14. disabled: createPropDefine(false, Boolean)
  15. })
  16. const [model] = useInjectFormData()
  17. const {provinceOptions} = useInjectProvince({provinceOptions: []})
  18. </script>
  19. <style scoped>
  20. </style>