setFormValue method

dynamic setFormValue(
  1. Map<String, Map<String, dynamic>> formValue
)

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);
      });
    });
  });
}