40 lines
1.3 KiB
Python
40 lines
1.3 KiB
Python
|
|
# coding=utf-8
|
|||
|
|
"""
|
|||
|
|
@project: maxkb
|
|||
|
|
@Author:虎
|
|||
|
|
@file: single_select_field.py
|
|||
|
|
@date:2023/10/31 18:00
|
|||
|
|
@desc:
|
|||
|
|
"""
|
|||
|
|
from typing import List, Dict
|
|||
|
|
|
|||
|
|
from common.forms import BaseLabel
|
|||
|
|
from common.forms.base_field import TriggerType, BaseExecField
|
|||
|
|
|
|||
|
|
|
|||
|
|
class SingleSelect(BaseExecField):
|
|||
|
|
"""
|
|||
|
|
下拉单选
|
|||
|
|
"""
|
|||
|
|
|
|||
|
|
def __init__(self,
|
|||
|
|
label: str or BaseLabel,
|
|||
|
|
text_field: str,
|
|||
|
|
value_field: str,
|
|||
|
|
option_list: List[str:object],
|
|||
|
|
provider: str = None,
|
|||
|
|
method: str = None,
|
|||
|
|
required: bool = False,
|
|||
|
|
default_value: object = None,
|
|||
|
|
relation_show_field_dict: Dict = None,
|
|||
|
|
relation_trigger_field_dict: Dict = None,
|
|||
|
|
trigger_type: TriggerType = TriggerType.OPTION_LIST,
|
|||
|
|
attrs: Dict[str, object] = None,
|
|||
|
|
props_info: Dict[str, object] = None):
|
|||
|
|
super().__init__("SingleSelect", label, text_field, value_field, provider, method, required, default_value,
|
|||
|
|
relation_show_field_dict, relation_trigger_field_dict, trigger_type, attrs, props_info)
|
|||
|
|
self.option_list = option_list
|
|||
|
|
|
|||
|
|
def to_dict(self):
|
|||
|
|
return {**super().to_dict(), 'option_list': self.option_list}
|