add method
Adds all of the CSS classes represented by a space-delimited list of className
s
if shouldAdd
is true
.
Does not check for / remove duplicate CSS classes.
Is a noop if shouldAdd
is false
, className
is null
or className
is an empty string.
shouldAdd
makes conditional CSS classes a breeze:
@override
render() {
var classes = forwardingClassNameBuilder()
..add('foo')
..add('foo--is-active', state.isActive)
..add('foo--is-disabled', state.isDisabled);
return (Dom.div()
..addProps(copyUnconsumedDomProps())
..className = classes.toClassName()
)(props.children);
}
Related: blacklist
Implementation
void add(String? className, [bool shouldAdd = true]) {
if (!shouldAdd || className == null || className == '') {
return;
}
if (_classNamesBuffer.isNotEmpty) {
_classNamesBuffer.write(' ');
}
_classNamesBuffer.write(className);
}