@@ -15,7 +15,7 @@ import {
15
15
triggerFocus ,
16
16
} from './utils/commonUtils' ;
17
17
import BaseInput from './BaseInput' ;
18
- import BaseInputCore from '../_util/BaseInput' ;
18
+ import BaseInputCore , { type BaseInputExpose } from '../_util/BaseInput' ;
19
19
20
20
export default defineComponent ( {
21
21
name : 'VCInput' ,
@@ -24,7 +24,7 @@ export default defineComponent({
24
24
setup ( props , { slots, attrs, expose, emit } ) {
25
25
const stateValue = shallowRef ( props . value === undefined ? props . defaultValue : props . value ) ;
26
26
const focused = shallowRef ( false ) ;
27
- const inputRef = shallowRef < HTMLInputElement > ( ) ;
27
+ const inputRef = shallowRef < BaseInputExpose > ( ) ;
28
28
const rootRef = shallowRef < ComponentPublicInstance > ( ) ;
29
29
watch (
30
30
( ) => props . value ,
@@ -42,30 +42,30 @@ export default defineComponent({
42
42
) ;
43
43
const focus = ( option ?: InputFocusOptions ) => {
44
44
if ( inputRef . value ) {
45
- triggerFocus ( inputRef . value , option ) ;
45
+ triggerFocus ( inputRef . value . input , option ) ;
46
46
}
47
47
} ;
48
48
49
49
const blur = ( ) => {
50
- inputRef . value ?. blur ( ) ;
50
+ inputRef . value . input ?. blur ( ) ;
51
51
} ;
52
52
53
53
const setSelectionRange = (
54
54
start : number ,
55
55
end : number ,
56
56
direction ?: 'forward' | 'backward' | 'none' ,
57
57
) => {
58
- inputRef . value ?. setSelectionRange ( start , end , direction ) ;
58
+ inputRef . value . input ?. setSelectionRange ( start , end , direction ) ;
59
59
} ;
60
60
61
61
const select = ( ) => {
62
- inputRef . value ?. select ( ) ;
62
+ inputRef . value . input ?. select ( ) ;
63
63
} ;
64
64
65
65
expose ( {
66
66
focus,
67
67
blur,
68
- input : computed ( ( ) => ( inputRef . value as any ) ?. input ) ,
68
+ input : computed ( ( ) => ( inputRef . value . input as any ) ?. input ) ,
69
69
stateValue,
70
70
setSelectionRange,
71
71
select,
@@ -81,7 +81,7 @@ export default defineComponent({
81
81
stateValue . value = value ;
82
82
} else {
83
83
nextTick ( ( ) => {
84
- if ( inputRef . value . value !== stateValue . value ) {
84
+ if ( inputRef . value . input . value !== stateValue . value ) {
85
85
rootRef . value ?. $forceUpdate ( ) ;
86
86
}
87
87
} ) ;
@@ -94,7 +94,7 @@ export default defineComponent({
94
94
const { value } = e . target as any ;
95
95
if ( stateValue . value === value ) return ;
96
96
const newVal = e . target . value ;
97
- resolveOnChange ( inputRef . value , e , triggerChange ) ;
97
+ resolveOnChange ( inputRef . value . input as HTMLInputElement , e , triggerChange ) ;
98
98
setValue ( newVal ) ;
99
99
} ;
100
100
@@ -116,7 +116,7 @@ export default defineComponent({
116
116
} ;
117
117
118
118
const handleReset = ( e : MouseEvent ) => {
119
- resolveOnChange ( inputRef . value , e , triggerChange ) ;
119
+ resolveOnChange ( inputRef . value . input as HTMLInputElement , e , triggerChange ) ;
120
120
setValue ( '' , ( ) => {
121
121
focus ( ) ;
122
122
} ) ;
0 commit comments