fix(runtime-dom): v-model should support number modifier with select tag (#2308)
close #2252
This commit is contained in:
@@ -166,11 +166,14 @@ export const vModelRadio: ModelDirective<HTMLInputElement> = {
|
||||
}
|
||||
|
||||
export const vModelSelect: ModelDirective<HTMLSelectElement> = {
|
||||
created(el, binding, vnode) {
|
||||
created(el, { modifiers: { number } }, vnode) {
|
||||
addEventListener(el, 'change', () => {
|
||||
const selectedVal = Array.prototype.filter
|
||||
.call(el.options, (o: HTMLOptionElement) => o.selected)
|
||||
.map(getValue)
|
||||
.map(
|
||||
(o: HTMLOptionElement) =>
|
||||
number ? toNumber(getValue(o)) : getValue(o)
|
||||
)
|
||||
el._assign(el.multiple ? selectedVal : selectedVal[0])
|
||||
})
|
||||
el._assign = getModelAssigner(vnode)
|
||||
|
||||
Reference in New Issue
Block a user