MemberGroupSelect.vue 919 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <template>
  2. <el-select v-model="groupId" placeholder="请选择用户分组" clearable class="!w-240px">
  3. <el-option
  4. v-for="group in groupOptions"
  5. :key="group.id"
  6. :label="group.name"
  7. :value="group.id"
  8. />
  9. </el-select>
  10. </template>
  11. <script lang="ts" setup>
  12. import * as GroupApi from '@/api/member/group'
  13. /** 会员分组选择框 **/
  14. defineOptions({ name: 'MemberGroupSelect' })
  15. const props = defineProps({
  16. /** 下拉框选中值 **/
  17. modelValue: {
  18. type: Number,
  19. default: undefined
  20. }
  21. })
  22. const emit = defineEmits(['update:modelValue'])
  23. const groupId = computed({
  24. get() {
  25. return props.modelValue
  26. },
  27. set(value: any) {
  28. emit('update:modelValue', value)
  29. }
  30. })
  31. const groupOptions = ref<GroupApi.GroupVO[]>([])
  32. const getList = async () => {
  33. groupOptions.value = await GroupApi.getSimpleGroupList()
  34. }
  35. /** 初始化 */
  36. onMounted(() => {
  37. getList()
  38. })
  39. </script>