@@ -15,7 +15,7 @@ import {
1515 triggerFocus ,
1616} from './utils/commonUtils' ;
1717import BaseInput from './BaseInput' ;
18- import BaseInputCore from '../_util/BaseInput' ;
18+ import BaseInputCore , { type BaseInputExpose } from '../_util/BaseInput' ;
1919
2020export 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