setFormValue method
Implementation
setFormValue(Map<String, Map<String, dynamic>> formValue) {
final valueKeys = formValue.values.expand((element) => element.keys);
// 才包括subform
_fields.keys.forEach((key) {
if (key.startsWith('subform')) {
final List<int> subformValue = valueKeys
.where(
(element) => element.endsWith('{bind}$key'),
)
.map((e) {
return int.parse(e.substring(
e.indexOf('{bind}') + 6,
e.lastIndexOf('{bind}'),
));
})
.toSet()
.toList();
_fields[key]?.setNewValue(subformValue);
setInternalFieldValue(key, subformValue);
}
});
// 不包括subform
Future.delayed(Duration(milliseconds: 200), () {
formValue.forEach((_, valueObj) {
valueObj.forEach((key, value) {
_fields[key]?.setNewValue(value);
setInternalFieldValue(key, value);
});
});
});
}