diff --git a/packages/renderless/package.json b/packages/renderless/package.json index e922636ff9..c3dab49738 100644 --- a/packages/renderless/package.json +++ b/packages/renderless/package.json @@ -1,6 +1,6 @@ { "name": "@opentiny/vue-renderless", - "version": "3.18.4", + "version": "3.18.6", "private": true, "description": "An enterprise-class UI component library, support both Vue.js 2 and Vue.js 3, as well as PC and mobile.", "author": "OpenTiny Team", diff --git a/packages/renderless/src/autocomplete/index.ts b/packages/renderless/src/autocomplete/index.ts index 9c2c9f5506..30dbbd76ba 100644 --- a/packages/renderless/src/autocomplete/index.ts +++ b/packages/renderless/src/autocomplete/index.ts @@ -109,9 +109,9 @@ export const handleFocus = export const handleBlur = ({ emit, state, dispatch, props }: Pick) => - (event) => { + () => { state.suggestionDisabled = true - emit('blur', event) + emit('blur') if (state.validateEvent) { dispatch(FORM_ITEM, FORM_EVENT.blur, [props.modelValue]) } @@ -165,7 +165,8 @@ export const select = emit, nextTick, props, - state + state, + dispatch }: { emit: IAutoCompleteRenderlessParamUtils['emit'] nextTick: IAutoCompleteRenderlessParamUtils['nextTick'] @@ -173,9 +174,13 @@ export const select = state: IAutoCompleteState }) => (item) => { - emit('update:modelValue', item[props.valueKey]) + const value = item[props.valueKey] + emit('update:modelValue', value) emit('select', item) + if (state.validateEvent) { + dispatch(FORM_ITEM, FORM_EVENT.change, [value]) + } nextTick(() => { state.activated = false state.suggestions = [] diff --git a/packages/renderless/src/autocomplete/vue.ts b/packages/renderless/src/autocomplete/vue.ts index b11debfe56..6048dcf2e6 100644 --- a/packages/renderless/src/autocomplete/vue.ts +++ b/packages/renderless/src/autocomplete/vue.ts @@ -39,7 +39,6 @@ import type { export const api = [ 'state', - 'select', 'suggestionState', 'getInput', 'handleChange', @@ -125,7 +124,7 @@ const initApi = ({ mounted: mounted({ vm, state, suggestionState }), highlight: highlight({ constants, vm, state }), handleClear: handleClear({ emit, state }), - select: select({ emit, nextTick, props, state }), + select: select({ emit, nextTick, props, state, dispatch }), watchVisible: watchVisible({ suggestionState, vm }), handleChange: handleChange({ api, emit, state, props, dispatch }), handleFocus: handleFocus({ api, emit, props, state }), diff --git a/packages/vue/src/autocomplete/package.json b/packages/vue/src/autocomplete/package.json index 5b74e1bf83..8d986a9cf2 100644 --- a/packages/vue/src/autocomplete/package.json +++ b/packages/vue/src/autocomplete/package.json @@ -1,26 +1,26 @@ { "name": "@opentiny/vue-autocomplete", - "version": "3.18.0", + "type": "module", + "version": "3.18.1", "description": "", + "license": "MIT", + "sideEffects": false, "main": "lib/index.js", "module": "index.ts", - "sideEffects": false, - "type": "module", - "devDependencies": { - "@opentiny-internal/vue-test-utils": "workspace:*", - "vitest": "^0.31.0" - }, "scripts": { "build": "pnpm -w build:ui $npm_package_name", "//postversion": "pnpm build" }, "dependencies": { - "@opentiny/vue-renderless": "workspace:~", + "@opentiny/vue-common": "workspace:~", + "@opentiny/vue-icon": "workspace:~", "@opentiny/vue-input": "workspace:~", + "@opentiny/vue-renderless": "workspace:~", "@opentiny/vue-scrollbar": "workspace:~", - "@opentiny/vue-icon": "workspace:~", - "@opentiny/vue-common": "workspace:~", "@opentiny/vue-theme": "workspace:~" }, - "license": "MIT" -} \ No newline at end of file + "devDependencies": { + "@opentiny-internal/vue-test-utils": "workspace:*", + "vitest": "^0.31.0" + } +} diff --git a/packages/vue/src/autocomplete/src/pc.vue b/packages/vue/src/autocomplete/src/pc.vue index d55af27c20..d1997b3dc6 100644 --- a/packages/vue/src/autocomplete/src/pc.vue +++ b/packages/vue/src/autocomplete/src/pc.vue @@ -24,10 +24,10 @@ ref="input" v-bind="f($props, $attrs)" front-clear-icon + v-clickoutside="handleBlur" @update:modelValue="handleChange" :validate-event="false" @focus="handleFocus" - @blur="handleBlur" @clear="handleClear" @keydown.up.prevent="highlight(state.highlightedIndex - 1)" @keydown.down.prevent="highlight(state.highlightedIndex + 1)" diff --git a/packages/vue/src/fluent-editor/package.json b/packages/vue/src/fluent-editor/package.json index a443a23443..34223b5320 100644 --- a/packages/vue/src/fluent-editor/package.json +++ b/packages/vue/src/fluent-editor/package.json @@ -1,6 +1,6 @@ { "name": "@opentiny/vue-fluent-editor", - "version": "3.18.0", + "version": "3.18.3", "description": "", "license": "MIT", "sideEffects": false, @@ -11,7 +11,7 @@ "//postversion": "pnpm build" }, "dependencies": { - "@opentiny/fluent-editor": "~3.19.0", + "@opentiny/fluent-editor": "~3.20.0", "@opentiny/vue-common": "workspace:~", "@opentiny/vue-icon": "workspace:~", "@opentiny/vue-image-viewer": "workspace:~",