fix(runtime-dom/style): fix patchStyle on falsy next value (#1504)

fix #1506
This commit is contained in:
djy0 2020-07-07 04:45:15 +08:00 committed by GitHub
parent 36b6b4f022
commit 77538ec6d9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 1 deletions

View File

@ -62,6 +62,12 @@ describe(`runtime-dom: style patching`, () => {
expect(el.style.getPropertyValue('margin-right')).toBe('10px')
})
it('patch with falsy style value', () => {
const el = document.createElement('div')
patchProp(el as any, 'style', { width: '100px' }, { width: 0 })
expect(el.style.width).toBe('0px')
})
// JSDOM doesn't support custom properties on style object so we have to
// mock it here.
function mockElementWithStyle() {

View File

@ -17,7 +17,7 @@ export function patchStyle(el: Element, prev: Style, next: Style) {
}
if (prev && !isString(prev)) {
for (const key in prev) {
if (!next[key]) {
if (next[key] == null) {
setStyle(style, key, '')
}
}