diff --git a/packages/devui-vue/devui/editable-select/src/composables/use-input-event.ts b/packages/devui-vue/devui/editable-select/src/composables/use-input-event.ts index 0d0de98525..9e80e4f056 100644 --- a/packages/devui-vue/devui/editable-select/src/composables/use-input-event.ts +++ b/packages/devui-vue/devui/editable-select/src/composables/use-input-event.ts @@ -64,6 +64,7 @@ export function useInputEvent( const handleInputChange = () => { states.query = states.inputValue; + ctx.emit('inputChange', states.query); handleQueryChange(states.query); }; diff --git a/packages/devui-vue/devui/editable-select/src/editable-select.tsx b/packages/devui-vue/devui/editable-select/src/editable-select.tsx index 1210d15045..fa2ccb0283 100644 --- a/packages/devui-vue/devui/editable-select/src/editable-select.tsx +++ b/packages/devui-vue/devui/editable-select/src/editable-select.tsx @@ -21,7 +21,7 @@ import './editable-select.scss'; export default defineComponent({ name: 'DEditableSelect', props: editableSelectProps, - emits: ['update:modelValue', 'focus', 'blur', 'clear', 'change', 'visibleChange', 'loadMore'], + emits: ['update:modelValue', 'focus', 'blur', 'clear', 'change', 'visibleChange', 'loadMore', 'inputChange'], setup(props: EditableSelectProps, ctx: SetupContext) { // name space const ns = useNamespace('editable-select'); diff --git a/packages/devui-vue/devui/select/src/select.tsx b/packages/devui-vue/devui/select/src/select.tsx index 8f843c7baa..28e650d2ff 100644 --- a/packages/devui-vue/devui/select/src/select.tsx +++ b/packages/devui-vue/devui/select/src/select.tsx @@ -29,7 +29,7 @@ import { FlexibleOverlay, Placement } from '../../overlay'; export default defineComponent({ name: 'DSelect', props: selectProps, - emits: ['toggle-change', 'value-change', 'update:modelValue', 'focus', 'blur', 'remove-tag', 'clear'], + emits: ['toggle-change', 'value-change', 'update:modelValue', 'focus', 'blur', 'remove-tag', 'clear', 'input-change'], setup(props: SelectProps, ctx: SetupContext) { const app = getCurrentInstance(); const t = createI18nTranslate('DSelect', app); diff --git a/packages/devui-vue/devui/select/src/use-select.ts b/packages/devui-vue/devui/select/src/use-select.ts index 1857c4d111..debfa7ce94 100644 --- a/packages/devui-vue/devui/select/src/use-select.ts +++ b/packages/devui-vue/devui/select/src/use-select.ts @@ -268,6 +268,7 @@ export default function useSelect( const queryChange = (query: string) => { filterQuery.value = query; + ctx.emit('input-change', query); }; const isLoading = computed(() => typeof props.loading === 'boolean' && props.loading); diff --git a/packages/devui-vue/docs/components/editable-select/index.md b/packages/devui-vue/docs/components/editable-select/index.md index d78622a765..122ac38f4a 100644 --- a/packages/devui-vue/docs/components/editable-select/index.md +++ b/packages/devui-vue/docs/components/editable-select/index.md @@ -215,7 +215,7 @@ export default defineComponent({ ```vue