Skip to content

Commit f5049c4

Browse files
authored
fix: delete chars from value at maxlength (#909)
1 parent 627a5cf commit f5049c4

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

src/utils/edit/input.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ function editInputElement(
128128
) {
129129
let dataToInsert = data
130130
const spaceUntilMaxLength = getSpaceUntilMaxLength(element)
131-
if (spaceUntilMaxLength !== undefined) {
131+
if (spaceUntilMaxLength !== undefined && data.length > 0) {
132132
if (spaceUntilMaxLength > 0) {
133133
dataToInsert = data.substring(0, spaceUntilMaxLength)
134134
} else {

tests/utils/edit/input.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -235,10 +235,10 @@ test('prevent input on `beforeinput` event', () => {
235235

236236
cases(
237237
'maxlength',
238-
({html, data, expectedValue}) => {
238+
({html, data, inputType, expectedValue}) => {
239239
const {element, eventWasFired} = render(html)
240240

241-
input(createConfig(), element, data)
241+
input(createConfig(), element, data, inputType)
242242

243243
expect(element).toHaveValue(expectedValue)
244244
expect(eventWasFired('beforeinput')).toBe(true)
@@ -270,6 +270,12 @@ cases(
270270
data: '',
271271
expectedValue: '',
272272
},
273+
'delete data when maxlength is reached': {
274+
html: `<input maxlength="3" value="foo"/>`,
275+
data: '',
276+
inputType: 'deleteContentForward',
277+
expectedValue: 'oo',
278+
},
273279
},
274280
)
275281

0 commit comments

Comments
 (0)