Fix createElementFromAttrs bug (#31751)
The "false" value was not handled correctly, it would cause bugs in the future (fortunately, this behavior is not used in code yet).
This commit is contained in:
parent
d1283524b1
commit
e3678356e1
@ -10,7 +10,9 @@ test('createElementFromAttrs', () => {
|
||||
class: 'cls-1 cls-2',
|
||||
'data-foo': 'the-data',
|
||||
disabled: true,
|
||||
checked: false,
|
||||
required: null,
|
||||
tabindex: 0,
|
||||
});
|
||||
expect(el.outerHTML).toEqual('<button id="the-id" class="cls-1 cls-2" data-foo="the-data" disabled=""></button>');
|
||||
expect(el.outerHTML).toEqual('<button id="the-id" class="cls-1 cls-2" data-foo="the-data" disabled="" tabindex="0"></button>');
|
||||
});
|
||||
|
@ -297,7 +297,7 @@ export function createElementFromAttrs(tagName, attrs) {
|
||||
const el = document.createElement(tagName);
|
||||
for (const [key, value] of Object.entries(attrs)) {
|
||||
if (value === undefined || value === null) continue;
|
||||
if (value === true) {
|
||||
if (typeof value === 'boolean') {
|
||||
el.toggleAttribute(key, value);
|
||||
} else {
|
||||
el.setAttribute(key, String(value));
|
||||
|
Loading…
Reference in New Issue
Block a user