fix(runtime-core): should allow v-model listeners to fallthrough, but ignore for warning
fix #1543
This commit is contained in:
parent
1e90605c15
commit
903e8f697e
@ -256,11 +256,7 @@ function setFullProps(
|
||||
let camelKey
|
||||
if (options && hasOwn(options, (camelKey = camelize(key)))) {
|
||||
props[camelKey] = value
|
||||
} else if (
|
||||
(!emits || !isEmitListener(emits, key)) &&
|
||||
// ignore v-model listeners
|
||||
!key.startsWith(`onUpdate:`)
|
||||
) {
|
||||
} else if (!emits || !isEmitListener(emits, key)) {
|
||||
// Any non-declared (either as a prop or an emitted event) props are put
|
||||
// into a separate `attrs` object for spreading. Make sure to preserve
|
||||
// original key casing
|
||||
|
@ -121,8 +121,12 @@ export function renderComponentRoot(
|
||||
for (let i = 0, l = allAttrs.length; i < l; i++) {
|
||||
const key = allAttrs[i]
|
||||
if (isOn(key)) {
|
||||
// remove `on`, lowercase first letter to reflect event casing accurately
|
||||
eventAttrs.push(key[2].toLowerCase() + key.slice(3))
|
||||
// ignore v-model handlers when they fail to fallthrough
|
||||
if (!key.startsWith('onUpdate:')) {
|
||||
// remove `on`, lowercase first letter to reflect event casing
|
||||
// accurately
|
||||
eventAttrs.push(key[2].toLowerCase() + key.slice(3))
|
||||
}
|
||||
} else {
|
||||
extraAttrs.push(key)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user