input_text_info.dart 1019 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import 'dart:convert';
  2. import 'package:fis_lib_report/converts/event_type.dart';
  3. import 'package:fis_lib_report/report/inputText.dart';
  4. import 'package:fis_lib_report/report_info/report_info.dart';
  5. import 'package:fis_lib_report/report_info/text_element_info.dart';
  6. class InputTextInfo extends TextElementInfo {
  7. ///是否只读
  8. bool? isReadOnly;
  9. ///当前输入框是否已经监听
  10. bool? isListening;
  11. ///UI绑定的文本
  12. String get text => _text;
  13. set text(String v) {
  14. _text = v;
  15. onTextChange.emit(this, v);
  16. }
  17. ///文本改变通知UI变化
  18. FEventHandler<String> onTextChange = FEventHandler<String>();
  19. String _text = '';
  20. InputTextInfo.fromElement(InputText element) : super.fromElement(element) {
  21. isReadOnly = element.isReadOnly;
  22. isListening = false;
  23. text = '';
  24. }
  25. @override
  26. Map<String, dynamic> toJson() {
  27. final map = <String, dynamic>{};
  28. map['Key'] = tag!.id;
  29. map['Value'] = text;
  30. ReportInfo.instance.jsonItems.add(map);
  31. return map;
  32. }
  33. }