Skip to content

Commit

Permalink
fix(style): always set new styles
Browse files Browse the repository at this point in the history
close #12901
close #12946
  • Loading branch information
yyx990803 committed Dec 6, 2023
1 parent d6468c4 commit f5ef882
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 4 deletions.
6 changes: 2 additions & 4 deletions src/platforms/web/runtime/modules/style.ts
Expand Up @@ -91,10 +91,8 @@ function updateStyle(oldVnode: VNodeWithData, vnode: VNodeWithData) {
}
for (name in newStyle) {
cur = newStyle[name]
if (cur !== oldStyle[name]) {
// ie9 setting to null has no effect, must use empty string
setProp(el, name, cur == null ? '' : cur)
}
// ie9 setting to null has no effect, must use empty string
setProp(el, name, cur == null ? '' : cur)
}
}

Expand Down
15 changes: 15 additions & 0 deletions test/unit/modules/vdom/modules/style.spec.ts
Expand Up @@ -36,4 +36,19 @@ describe('vdom style module', () => {
expect(elm.style.fontSize).toBe('')
expect(elm.style.display).toBe('block')
})

it('border related style should update correctly', () => {
const vnode1 = new VNode('p', {
style: { border: '10px solid red', 'border-bottom': '10px solid blue' }
})
const vnode2 = new VNode('p', {
style: {
'border-right': '10px solid red',
'border-bottom': '10px solid blue'
}
})
patch(null, vnode1)
const elm = patch(vnode1, vnode2)
expect(elm.style.borderBottom).toBe('10px solid blue')
})
})

0 comments on commit f5ef882

Please sign in to comment.