mirror of https://github.com/vuejs/core.git
chore: remove no longer used cloneNode implementation in nodeOps
This commit is contained in:
parent
aa70188c41
commit
ab8bfac0a1
|
@ -1,15 +1,6 @@
|
||||||
import { nodeOps, svgNS } from '../src/nodeOps'
|
import { nodeOps, svgNS } from '../src/nodeOps'
|
||||||
|
|
||||||
describe('runtime-dom: node-ops', () => {
|
describe('runtime-dom: node-ops', () => {
|
||||||
test('the _value property should be cloned', () => {
|
|
||||||
const el = nodeOps.createElement('input') as HTMLDivElement & {
|
|
||||||
_value: any
|
|
||||||
}
|
|
||||||
el._value = 1
|
|
||||||
const cloned = nodeOps.cloneNode!(el) as HTMLDivElement & { _value: any }
|
|
||||||
expect(cloned._value).toBe(1)
|
|
||||||
})
|
|
||||||
|
|
||||||
test("the <select>'s multiple attr should be set in createElement", () => {
|
test("the <select>'s multiple attr should be set in createElement", () => {
|
||||||
const el = nodeOps.createElement('select', false, undefined, {
|
const el = nodeOps.createElement('select', false, undefined, {
|
||||||
multiple: ''
|
multiple: ''
|
||||||
|
|
|
@ -52,23 +52,6 @@ export const nodeOps: Omit<RendererOptions<Node, Element>, 'patchProp'> = {
|
||||||
el.setAttribute(id, '')
|
el.setAttribute(id, '')
|
||||||
},
|
},
|
||||||
|
|
||||||
cloneNode(el) {
|
|
||||||
const cloned = el.cloneNode(true)
|
|
||||||
// #3072
|
|
||||||
// - in `patchDOMProp`, we store the actual value in the `el._value` property.
|
|
||||||
// - normally, elements using `:value` bindings will not be hoisted, but if
|
|
||||||
// the bound value is a constant, e.g. `:value="true"` - they do get
|
|
||||||
// hoisted.
|
|
||||||
// - in production, hoisted nodes are cloned when subsequent inserts, but
|
|
||||||
// cloneNode() does not copy the custom property we attached.
|
|
||||||
// - This may need to account for other custom DOM properties we attach to
|
|
||||||
// elements in addition to `_value` in the future.
|
|
||||||
if (`_value` in el) {
|
|
||||||
;(cloned as any)._value = (el as any)._value
|
|
||||||
}
|
|
||||||
return cloned
|
|
||||||
},
|
|
||||||
|
|
||||||
// __UNSAFE__
|
// __UNSAFE__
|
||||||
// Reason: innerHTML.
|
// Reason: innerHTML.
|
||||||
// Static content here can only come from compiled templates.
|
// Static content here can only come from compiled templates.
|
||||||
|
|
Loading…
Reference in New Issue