弹出层动作
大约 2 分钟
弹出层动作
PopupActionWidget
类扩展自 ViewActionWidget
,用于实现弹窗动作。该类提供了一系列方法和属性来支持弹窗中的视图加载、提交、取消等操作。
属性
metadataSubviewWidget
- 类型:
MetadataViewWidget | undefined
- 说明: 引用弹窗内部的元数据视图组件实例。
subviewRuntimeContext
- 类型:
RuntimeContext | undefined
- 说明: 弹窗内视图的运行时上下文。
defaultSubviewType
- 类型:
ViewType
- 说明: 默认的弹窗内视图类型,若未通过
popupDslDefinition
指定,则使用此默认值。
currentOpenerDataSource
- 类型:
ActiveRecord[] | undefined
- 说明: 当前触发弹窗的数据源。
currentOpenerActiveRecords
- 类型:
ActiveRecord[] | undefined
- 说明: 当前触发弹窗的活动记录。
响应式属性
popupViewDslNode
- 类型:
DslDefinition | undefined
- 说明: 弹窗视图的 DSL 节点。
currentViewDslNode
- 类型:
DslDefinition | null | undefined
- 说明: 当前视图的 DSL 节点。
popupDslDefinition
- 类型:
PopupDslDefinition | null | undefined
- 说明: 解析后的弹窗 DSL 定义。
viewMode
- 类型:
ViewMode
- 说明: 弹窗视图的视图模式,由
computeViewMode
方法计算得到。
subviewType
- 类型:
ViewType
- 说明: 弹窗内视图的类型。
subviewModel
- 类型:
string
- 说明: 弹窗内视图使用的模型标识符。
subviewModelName
- 类型:
string
- 说明: 弹窗内视图使用的模型名称。
subviewModule
- 类型:
string | undefined
- 说明: 弹窗内视图所属的模块标识符。
subviewModuleName
- 类型:
string
- 说明: 弹窗内视图所属模块的名称。
openerDataSource
- 类型:
ActiveRecord[] | undefined
- 说明: 提供给弹窗视图的数据源,通常为触发弹窗的视图的数据源。
openerActiveRecords
- 类型:
ActiveRecord[] | undefined
- 说明: 提供给弹窗视图的活动记录,通常为触发弹窗的视图中选中的记录。
方法
initialize(props)
- 说明: 初始化弹窗动作组件并设置初始配置。
onSubmit(parameters: PopupSubmitParameters)
- 说明: 处理弹窗提交动作,根据弹窗内视图的上下文类型更新数据源或提交数据。
onCancel(parameters: PopupSubmitParameters)
- 说明: 处理弹窗取消动作,通常返回
true
表示取消成功。
clickAction(...)
- 说明: 触发弹窗动作,生成弹窗组件并加载数据。
generatorPopupWidget()
- 说明: 生成弹窗组件实例,包括初始化子视图和加载数据。
generatorPopupDslDefinition()
- 说明: 根据当前视图的 DSL 和动作配置生成弹窗的 DSL 定义。
createMetadataSubviewWidget()
- 说明: 创建并初始化弹窗内的元数据视图组件。
initSubview(popupDslDefinition, data)
- 说明: 初始化弹窗内的子视图,包括设置视图配置和加载数据。
createPopupWidget(data, isFetchData)
- 说明: 创建弹窗组件,是一个抽象方法,需要在具体实现中定义弹窗的创建逻辑。
loadOpenerData()
- 说明: 加载触发弹窗的视图的数据源和活动记录。
loadData()
- 说明: 加载弹窗内视图所需的数据,根据上下文类型和视图类型决定加载策略。
isFetchData(records)
- 说明: 决定是否通过弹窗组件自动获取数据。
使用场景
- 弹出表单: 用于数据录入或编辑时弹出表单视图。
- 弹出详情: 用于展示记录详细信息时弹出详情视图。