diff --git a/package-lock.json b/package-lock.json index 1090de21..dcf87020 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@sysvale/cuida", - "version": "3.154.9", + "version": "3.154.11", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@sysvale/cuida", - "version": "3.154.9", + "version": "3.154.11", "dependencies": { "@popperjs/core": "^2.11.6", "@sysvale/cuida-icons": "^1.18.0", diff --git a/package.json b/package.json index 8235d0a6..82c939c6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@sysvale/cuida", - "version": "3.154.10", + "version": "3.154.11", "description": "A design system built by Sysvale, using storybook and Vue components", "repository": { "type": "git", diff --git a/src/components/Select.vue b/src/components/Select.vue index 69ea74c4..be42d389 100644 --- a/src/components/Select.vue +++ b/src/components/Select.vue @@ -429,17 +429,8 @@ watch(localValue, (currentValue) => { return; } - if (props.returnValue) { - /** - * Evento que indica que o valor do Select foi alterado - * @event update:modelValue - * @type {Event} - */ - model.value = currentValue[props.optionsField]; - } else { - model.value = currentValue; - } -}, { deep: true }); + model.value = props.returnValue ? compatibleOptions[0][props.optionsField] : compatibleOptions[0]; +}); /* HOOKS */ onMounted(() => { @@ -551,12 +542,14 @@ function activateSelectionOnClick() { function hide() { isSelectingItem = true; + const shouldClearSelection = props.searchable && !props.addable && localOptions.value.length === 0; - if (!searchString.value && !props.addable) { + if (shouldClearSelection) { model.value = null; + localValue.value = null; } - if (!searchString.value) { + if (!searchString.value && !shouldClearSelection) { localValue.value = localOptions.value.some(item => item[props.optionsField]?.toLowerCase() === get(localValue.value, props.optionsField)?.toLowerCase()) ? localValue.value : {};