import 'package:fis_lib_report/converts/event_type.dart'; import 'package:fis_lib_report/report/singleSelected.dart'; import 'package:fis_lib_report/report_info/report_info.dart'; import 'package:fis_lib_report/report_info/text_element_info.dart'; class SingleSelectedInfo extends TextElementInfo { ///是否只读 bool? isReadOnly; ///所有可选项 List? items = []; ///已选中的项 String get selectedItem => _selectedItem; set selectedItem(String v) { if (items!.contains(v)) _selectedItem = v; onSelectedChange.emit(this, v); } ///选中项改变通知UI变化 FEventHandler onSelectedChange = FEventHandler(); String _selectedItem = ''; ///UI渲染时获取待选项数据 SingleSelectedInfo.fromElement(SingleSelected element) : super.fromElement(element) { isReadOnly = element.isReadOnly; items = element.items; } @override Map toJson() { final map = {}; map['Key'] = tag!.id; map['Value'] = selectedItem; ReportInfo.instance.jsonItems.add(map); return map; } }