setResolvedAttribute method
void
setResolvedAttribute(
- T element,
- String attrName,
- String? attrVal, {
- required bool booleanDefault,
- required String? valueDefault,
override
Sets a value from resolveAttributeValue (used by setAttributes).
A value is set as is. A null attrVal is:
- for a boolean attribute (
selected,checked,disabled…):booleanDefault(true: on,false: off); - for any other attribute:
valueDefault(null: removed).
// A value, as is:
setResolvedAttribute(option, 'selected', 'true',
booleanDefault: false, valueDefault: null);
// option.selected = true
// <option selected="false"> resolves to `null`: off.
setResolvedAttribute(option, 'selected', null,
booleanDefault: false, valueDefault: null);
// option.selected = false
// <input checked>, bare: on.
setResolvedAttribute(input, 'checked', null,
booleanDefault: true, valueDefault: null);
// input.checked = true
// No `title`: removed, or a default.
setResolvedAttribute(div, 'title', null,
booleanDefault: false, valueDefault: null); // no `title`
setResolvedAttribute(div, 'title', null,
booleanDefault: false, valueDefault: '-'); // title="-"
setAttribute is as booleanDefault: true, valueDefault: null for the boolean attributes set as properties.
Every generator implements it (it has no default: a fallback to setAttribute would turn every false boolean attribute on). See resolveAttributeDefaults.
Implementation
@override
void setResolvedAttribute(
T element,
String attrName,
String? attrVal, {
required bool booleanDefault,
required String? valueDefault,
}) => domGenerator.setResolvedAttribute(
element,
attrName,
attrVal,
booleanDefault: booleanDefault,
valueDefault: valueDefault,
);