radio_button_field.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. # coding=utf-8
  2. """
  3. @project: maxkb
  4. @Author:虎
  5. @file: radio_field.py
  6. @date:2023/10/31 17:59
  7. @desc:
  8. """
  9. from typing import List, Dict
  10. from common.forms.base_field import BaseExecField, TriggerType
  11. class RadioButton(BaseExecField):
  12. """
  13. 下拉单选
  14. """
  15. def __init__(self,
  16. label: str,
  17. text_field: str,
  18. value_field: str,
  19. option_list: List[str:object],
  20. provider: str,
  21. method: str,
  22. required: bool = False,
  23. default_value: object = None,
  24. relation_show_field_dict: Dict = None,
  25. relation_trigger_field_dict: Dict = None,
  26. trigger_type: TriggerType = TriggerType.OPTION_LIST,
  27. attrs: Dict[str, object] = None,
  28. props_info: Dict[str, object] = None):
  29. super().__init__("RadioButton", label, text_field, value_field, provider, method, required, default_value,
  30. relation_show_field_dict, relation_trigger_field_dict, trigger_type, attrs, props_info)
  31. self.option_list = option_list
  32. def to_dict(self):
  33. return {**super().to_dict(), 'option_list': self.option_list}