diff --git a/packages/devui-vue/devui/input/src/input.scss b/packages/devui-vue/devui/input/src/input.scss index 9f8397d3df..727abf2c1c 100644 --- a/packages/devui-vue/devui/input/src/input.scss +++ b/packages/devui-vue/devui/input/src/input.scss @@ -5,6 +5,9 @@ &__wrap { position: relative; @include flex('space-between'); + .devui-input-restore { + padding-right: 32px; + } } &__preview { diff --git a/packages/devui-vue/devui/input/src/input.tsx b/packages/devui-vue/devui/input/src/input.tsx index 50bcfa237a..bc204c44cd 100644 --- a/packages/devui-vue/devui/input/src/input.tsx +++ b/packages/devui-vue/devui/input/src/input.tsx @@ -26,6 +26,7 @@ export default defineComponent({ return { error: props.error, [props.cssClass]: true, + 'devui-input-restore': showPwdIcon.value, [sizeCls.value]: props.size !== '' } }) @@ -34,19 +35,11 @@ export default defineComponent({ () => props.showPassword, (flg) => { inputType.value = flg ? 'password' : 'text' + showPwdIcon.value = props.showPassword }, { immediate: true } ) - watch( - () => props.modelValue, - (value) => { - value && value.length > 0 && showPreviewIcon.value - ? (showPwdIcon.value = true) - : (showPwdIcon.value = false) - } - ) - const onInput = ($event: Event) => { ctx.emit('update:modelValue', ($event.target as HTMLInputElement).value) hasFormItem && formItem.formItemMitt.emit(dFormItemEvents.input) @@ -119,9 +112,9 @@ export default defineComponent({ {showPwdIcon && (