@@ -226,7 +226,7 @@ export default function (props, emit, emitValue, inputRef) {
226226 updateMaskInternalsFlag === true && updateMaskInternals ( )
227227
228228 const
229- preMasked = maskValue ( unmasked ) ,
229+ preMasked = maskValue ( unmasked , updateMaskInternalsFlag ) ,
230230 masked = props . fillMask !== false
231231 ? fillWithMask ( preMasked )
232232 : preMasked ,
@@ -481,11 +481,11 @@ export default function (props, emit, emitValue, inputRef) {
481481 }
482482 }
483483
484- function maskValue ( val ) {
484+ function maskValue ( val , updateMaskInternalsFlag ) {
485485 if ( val === void 0 || val === null || val === '' ) { return '' }
486486
487487 if ( props . reverseFillMask === true ) {
488- return maskValueReverse ( val )
488+ return maskValueReverse ( val , updateMaskInternalsFlag )
489489 }
490490
491491 const mask = computedMask
@@ -499,6 +499,10 @@ export default function (props, emit, emitValue, inputRef) {
499499
500500 if ( typeof maskDef === 'string' ) {
501501 output += maskDef
502+
503+ if ( updateMaskInternalsFlag === true && valChar === maskDef ) {
504+ valIndex ++
505+ }
502506 }
503507 else if ( valChar !== void 0 && maskDef . regex . test ( valChar ) ) {
504508 output += maskDef . transform !== void 0
@@ -514,7 +518,7 @@ export default function (props, emit, emitValue, inputRef) {
514518 return output
515519 }
516520
517- function maskValueReverse ( val ) {
521+ function maskValueReverse ( val , updateMaskInternalsFlag ) {
518522 const
519523 mask = computedMask ,
520524 firstTokenIndex = maskMarked . indexOf ( MARKER )
@@ -528,6 +532,10 @@ export default function (props, emit, emitValue, inputRef) {
528532
529533 if ( typeof maskDef === 'string' ) {
530534 output = maskDef + output
535+
536+ if ( updateMaskInternalsFlag === true && valChar === maskDef ) {
537+ valIndex --
538+ }
531539 }
532540 else if ( valChar !== void 0 && maskDef . regex . test ( valChar ) ) {
533541 do {
0 commit comments