render method
ValueProvider
render(
- JSONRender render,
- DivElement output,
- dynamic node,
- dynamic nodeOriginal,
- NodeKey nodeKey,
override
Implementation
@override
ValueProvider render(JSONRender render, DivElement output, dynamic node,
dynamic nodeOriginal, NodeKey nodeKey) {
var options = (node as List).cast<Map>().toList();
var elem = SelectElement();
for (var opt in options) {
var optionElement =
OptionElement(value: opt['value'], data: opt['label']);
elem.add(optionElement, null);
}
valueProvider(parent) => elem.options
.map((opt) => <String, dynamic>{
'value': opt.value,
'label': opt.label,
if (opt.selected) 'selected': true
})
.toList();
if (render.renderMode != JSONRenderMode.input) {
elem.disabled = true;
}
output.children.add(elem);
applyCSS(render, output, extraElements: [elem]);
return valueProvider;
}