我们正在开发一个网络组件库。
为了在 Storybook 中正常工作,每个受支持的属性都需要有一个默认值,对于
HTMLInputElement
的 maxLength
(与 minLength
相同)属性恰好是一个看似无效的值:-1
。
尝试将此默认值分配给属性会导致
DOMException
:
let input = document.createElement('input')
console.log(input.maxLength);
input.maxLength = input.maxLength;
// Throws
// DOMException, Uncaught IndexSizeError:
// Failed to set the 'maxLength' property on 'HTMLInputElement':
// The value provided (-1) is not positive or 0.
我怎样才能有意义地为属性提供一个在设置时不会抛出异常的非破坏性默认值?
let input = document.createElement('input')
console.log(input.maxLength);
input.maxLength = input.maxLength;
// Throws
// DOMException, Uncaught IndexSizeError: Failed to set the 'maxLength' property on 'HTMLInputElement': The value provided (-1) is not positive or 0.