getResult method
获取选择的结果
Implementation
(Map<String, List<dynamic>>, String) getResult() {
final items = value.items;
final reslut = <String, List>{};
final reslutNames = [];
for (var group in items) {
final key = group.key;
var resGroup = {key: []};
// 如果有拼接组件,则先从自定义组件中寻找是否选定结果
if (attachment.isNotEmpty) {
for (var element in attachment) {
if (element.groupKey == key && element.extraData != null) {
final res = element.getResult();
resGroup = res.$1;
if (res.$2.isNotEmpty) {
reslutNames.add(res.$2);
}
break;
}
}
}
// 如果自定义组件没有选择,则检索筛选项是否选中
if (resGroup[key]?.isEmpty == true) {
final list = group.items;
for (var item in list) {
if (item.selected) {
resGroup[key]!.add(item.result);
reslutNames.add(item.name);
}
}
}
reslut.addAll(resGroup);
}
return (reslut, reslutNames.join('/'));
}