12345678910111213141516171819202122232425262728293031323334353637383940 |
- 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<String>? items = [];
- ///已选中的项
- String get selectedItem => _selectedItem;
- set selectedItem(String v) {
- if (items!.contains(v)) _selectedItem = v;
- onSelectedChange.emit(this, v);
- }
- ///选中项改变通知UI变化
- FEventHandler<String> onSelectedChange = FEventHandler<String>();
- String _selectedItem = '';
- ///UI渲染时获取待选项数据
- SingleSelectedInfo.fromElement(SingleSelected element)
- : super.fromElement(element) {
- isReadOnly = element.isReadOnly;
- items = element.items;
- }
- @override
- Map<String, dynamic> toJson() {
- final map = <String, dynamic>{};
- map['Key'] = tag!.id;
- map['Value'] = selectedItem;
- ReportInfo.instance.jsonItems.add(map);
- return map;
- }
- }
|