Skip to content

Commit 0c690a2

Browse files
committed
[Fix] when first input is decimal
1 parent c202b38 commit 0c690a2

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

src/core.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,8 +198,14 @@ export function keydownHandler(event: KeyboardEvent, el: CustomInputElement) {
198198
const regExp = new RegExp(`${prefix}|${suffix}`, 'g')
199199
const newValue = el.value.replace(regExp, '')
200200
const canNegativeInput = min === undefined || Number(min) < 0 || Number(min) !== min
201-
if (key === decimal && newValue.includes(decimal)) {
202-
event.preventDefault()
201+
if (key === decimal) {
202+
if (newValue.includes(decimal)) {
203+
event.preventDefault()
204+
} else if (!newValue) {
205+
el.value = '0' + decimal
206+
// trigger input event
207+
el.dispatchEvent(new Event('input'))
208+
}
203209
} else if (key === MINUS && !canNegativeInput) {
204210
event.preventDefault()
205211
} else if (key === 'Backspace') {

src/directive.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export default {
88
const options = Object.assign(core.cloneDeep(defaultOptions), value, modifiers)
99
el.options = options
1010
// set initial value
11-
core.updateValue(el, vnode, { force: options.prefill, clean: true })
11+
core.updateValue(el, vnode, { force: options.prefill, clean: true, emit: false })
1212
},
1313

1414
mounted: (el: core.CustomInputElement) => {

0 commit comments

Comments
 (0)