| | |
| | | enumValueKey?: string; |
| | | valueEnum?: ValueEnum; |
| | | modelValue: string | number; |
| | | disabled?: boolean; |
| | | }; |
| | | |
| | | const props = withDefaults(defineProps<Props>(), { |
| | | enumLabelKey: 'name', |
| | | enumValueKey: 'id', |
| | | enumLabelKey: 'label', |
| | | enumValueKey: 'value', |
| | | disabled: false, |
| | | }); |
| | | |
| | | const emit = defineEmits<{ |
| | | (e: 'update:modelValue', val: string | number): void; |
| | | (e: 'change'): void; |
| | | }>(); |
| | | |
| | | const options = computed(() => |
| | |
| | | ); |
| | | |
| | | function handleOpen() { |
| | | if (props.disabled) { |
| | | return; |
| | | } |
| | | const _modelValue = [props.modelValue]; |
| | | Portal.add((key) => { |
| | | return h( |
| | |
| | | onConfirm: ({ selectedValue, selectedOptions }) => { |
| | | console.log('selectedValue: ', selectedValue, selectedOptions); |
| | | emit('update:modelValue', selectedOptions[0].value); |
| | | emit('change'); |
| | | onClose(); |
| | | }, |
| | | }), |