Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions packages/runtime-dom/__tests__/directives/vModel.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -345,6 +345,9 @@ describe('vModel', () => {
triggerEvent('input', number)
await nextTick()
expect(data.number).toEqual(1.2)
triggerEvent('change', number)
await nextTick()
expect(number.value).toEqual('1.2')

trim.value = ' hello, world '
triggerEvent('input', trim)
Expand Down
11 changes: 9 additions & 2 deletions packages/runtime-dom/src/directives/vModel.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,16 @@ export const vModelText: ModelDirective<
}
el[assignKey](domValue)
})
if (trim) {
if (trim || castToNumber) {
addEventListener(el, 'change', () => {
el.value = el.value.trim()
let newValue = el.value
if (trim) {
newValue = newValue.trim()
}
if (castToNumber) {
newValue = looseToNumber(newValue)
}
el.value = newValue
})
}
if (!lazy) {
Expand Down
Loading