跳至主要內容

弹出层动作

Mr.Hope大约 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)

  • 说明: 决定是否通过弹窗组件自动获取数据。

使用场景

  • 弹出表单: 用于数据录入或编辑时弹出表单视图。
  • 弹出详情: 用于展示记录详细信息时弹出详情视图。