Skip to content

Commit 8e8073d

Browse files
authored
fix: input clear error (#7523)
1 parent d6cc262 commit 8e8073d

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

components/vc-input/Input.tsx

+10-10
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import {
1515
triggerFocus,
1616
} from './utils/commonUtils';
1717
import BaseInput from './BaseInput';
18-
import BaseInputCore from '../_util/BaseInput';
18+
import BaseInputCore, { type BaseInputExpose } from '../_util/BaseInput';
1919

2020
export default defineComponent({
2121
name: 'VCInput',
@@ -24,7 +24,7 @@ export default defineComponent({
2424
setup(props, { slots, attrs, expose, emit }) {
2525
const stateValue = shallowRef(props.value === undefined ? props.defaultValue : props.value);
2626
const focused = shallowRef(false);
27-
const inputRef = shallowRef<HTMLInputElement>();
27+
const inputRef = shallowRef<BaseInputExpose>();
2828
const rootRef = shallowRef<ComponentPublicInstance>();
2929
watch(
3030
() => props.value,
@@ -42,30 +42,30 @@ export default defineComponent({
4242
);
4343
const focus = (option?: InputFocusOptions) => {
4444
if (inputRef.value) {
45-
triggerFocus(inputRef.value, option);
45+
triggerFocus(inputRef.value.input, option);
4646
}
4747
};
4848

4949
const blur = () => {
50-
inputRef.value?.blur();
50+
inputRef.value.input?.blur();
5151
};
5252

5353
const setSelectionRange = (
5454
start: number,
5555
end: number,
5656
direction?: 'forward' | 'backward' | 'none',
5757
) => {
58-
inputRef.value?.setSelectionRange(start, end, direction);
58+
inputRef.value.input?.setSelectionRange(start, end, direction);
5959
};
6060

6161
const select = () => {
62-
inputRef.value?.select();
62+
inputRef.value.input?.select();
6363
};
6464

6565
expose({
6666
focus,
6767
blur,
68-
input: computed(() => (inputRef.value as any)?.input),
68+
input: computed(() => (inputRef.value.input as any)?.input),
6969
stateValue,
7070
setSelectionRange,
7171
select,
@@ -81,7 +81,7 @@ export default defineComponent({
8181
stateValue.value = value;
8282
} else {
8383
nextTick(() => {
84-
if (inputRef.value.value !== stateValue.value) {
84+
if (inputRef.value.input.value !== stateValue.value) {
8585
rootRef.value?.$forceUpdate();
8686
}
8787
});
@@ -94,7 +94,7 @@ export default defineComponent({
9494
const { value } = e.target as any;
9595
if (stateValue.value === value) return;
9696
const newVal = e.target.value;
97-
resolveOnChange(inputRef.value, e, triggerChange);
97+
resolveOnChange(inputRef.value.input as HTMLInputElement, e, triggerChange);
9898
setValue(newVal);
9999
};
100100

@@ -116,7 +116,7 @@ export default defineComponent({
116116
};
117117

118118
const handleReset = (e: MouseEvent) => {
119-
resolveOnChange(inputRef.value, e, triggerChange);
119+
resolveOnChange(inputRef.value.input as HTMLInputElement, e, triggerChange);
120120
setValue('', () => {
121121
focus();
122122
});

0 commit comments

Comments
 (0)