refactor(runtime-dom): avoid form attribtue tag check
the tag check while technically stricter, is not really necessary and introduces too much weight
This commit is contained in:
@@ -3,13 +3,7 @@ import { patchStyle } from './modules/style'
|
||||
import { patchAttr } from './modules/attrs'
|
||||
import { patchDOMProp } from './modules/props'
|
||||
import { patchEvent } from './modules/events'
|
||||
import {
|
||||
isOn,
|
||||
isString,
|
||||
isFunction,
|
||||
isModelListener,
|
||||
isFormTag
|
||||
} from '@vue/shared'
|
||||
import { isOn, isString, isFunction, isModelListener } from '@vue/shared'
|
||||
import { RendererOptions } from '@vue/runtime-core'
|
||||
|
||||
const nativeOnRE = /^on[a-z]/
|
||||
@@ -99,9 +93,9 @@ function shouldSetAsProp(
|
||||
return false
|
||||
}
|
||||
|
||||
// #1787, #2840 the form property is readonly and can only be set as an
|
||||
// attribute using a string value
|
||||
if (key === 'form' && isFormTag(el.tagName)) {
|
||||
// #1787, #2840 form property on form elements is readonly and must be set as
|
||||
// attribute.
|
||||
if (key === 'form') {
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -110,15 +104,15 @@ function shouldSetAsProp(
|
||||
return false
|
||||
}
|
||||
|
||||
// #2766 <textarea type> must be set as attribute
|
||||
if (key === 'type' && el.tagName === 'TEXTAREA') {
|
||||
return false
|
||||
}
|
||||
|
||||
// native onclick with string value, must be set as attribute
|
||||
if (nativeOnRE.test(key) && isString(value)) {
|
||||
return false
|
||||
}
|
||||
|
||||
// DOMprop "type" is readonly on textarea elements: https://github.com/vuejs/vue-next/issues/2766
|
||||
if (key === 'type' && el.tagName === 'TEXTAREA') {
|
||||
return false
|
||||
}
|
||||
|
||||
return key in el
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user