通用
大约 2 分钟
通用
表单视图通用
BaseFormWidget
基础 Form
组件,仅提供基本布局能力,(Form, Detail, Search)视图通用。默认使用 BaseFormWidget.ts
作为该功能的基类,该类继承了BaseElementObjectViewWidget
。
export abstract class BaseFormWidget<
Props extends BaseElementObjectViewWidgetProps = BaseElementObjectViewWidgetProps
> extends BaseElementObjectViewWidget<Props> {
属性
formInstance
: 非响应式变量,表示表单组件实例。dataPath
: 响应式变量,表示完整数据路径。labelCol
: 响应式变量,表示标签布局,设置 span offset 值,如 {span: 3, offset: 12} 或 sm: {span: 3, offset: 12}。wrapperCol
: 响应式变量,表示输入控件设置布局样式,用法同labelCol
。layout
: 响应式变量,表示表单项标题排列方式: 水平或横向。优先级:this.getDsl().layout
>this.metadataRuntimeContext.viewTemplate?.direction
>FormLayout.VERTICAL
。
方法
getFormInstance()
- 类型: 非响应式方法
- 描述: 获取表单组件实例。
- 返回值:
formInstance
(OioFormInstance | undefined): 表单组件实例
public getFormInstance(): OioFormInstance | undefined {}
setFormInstance()
- 类型: 非响应式方法
- 描述: 设置表单组件实例。
- 入参:
formInstance
(OioFormInstance | undefined): 表单组件实例
@Widget.Method()
private setFormInstance(formInstance: OioFormInstance | undefined) {}
枚举类型详解
FormLayout
定义了表单项标签和输入控件排列方式。
HORIZONTAL
: 水平布局。VERTICAL
: 垂直布局。INLINE
: 内联布局。
BaseTableWidget
BaseTableWidget
是一个提供表格功能的基础组件,支持各种表格相关的操作,如排序、筛选、行内编辑等。
属性
- fixedHeight:
number | string | false
- 表格的固定高度。可以是数字、字符串或者
false
,当为false
时不设置固定高度。
- 表格的固定高度。可以是数字、字符串或者
响应式属性
- checkbox:
boolean
- 是否启用复选框。默认为
true
。
- 是否启用复选框。默认为
- lineHeight:
number | undefined
- 表格行的高度。
- enableSequence:
boolean
- 是否启用序列号列。默认为
false
。
- 是否启用序列号列。默认为
- defaultPageSize:
number
- 默认的分页大小。如果未设置,则使用视图模板或全局默认值。
- activeCount:
number | undefined
- 激活的记录数。可以是具体的数字,也可以是
ActiveCountEnum
枚举值。
- 激活的记录数。可以是具体的数字,也可以是
- inlineActiveCount:
number | undefined
- 内联模式下激活的记录数。如果未设置,则使用视图模板或全局默认值。
- allowChecked:
string | boolean | undefined
- 控制记录是否可以被选中。可以是布尔值,也可以是表达式字符串。
- operatorColumnDirection:
string | undefined
- 操作列的方向。
- operatorColumnWidth:
string | undefined
- 操作列的宽度。
- operatorColumnButtonType:
string | undefined
- 操作列按钮的类型。
方法
- checkMethod:
({ row: ActiveRecord }) => boolean
- 自定义复选框的选中逻辑。返回
true
表示该行可选,false
表示不可选。
- 自定义复选框的选中逻辑。返回
- onPaginationChange:
(current: number, pageSize: number) => void
- 分页变化时的回调函数。
- onSortChange:
(sortList: ISort[]) => void
- 排序变化时的回调函数。
- onToggleRowExpand:
({ expanded: boolean, rowIndex: number }) => void
- 展开或收起行时的回调函数。
- onResizableChange:
({ column }) => Promise<void>
- 列宽调整后的回调函数,用于更新用户偏好设置。
- footerMethod:
({ columns: VxeTableDefines.ColumnInfo[], data: ActiveRecord[] }) => string[]
- 表格脚部的自定义渲染方法。
- onCurrentChange:
(e) => void
- 当前行变化时的回调函数。
- onRowClick:
({ column, row }) => Promise<void>
- 行点击事件的回调函数。
- onRowDblClick:
({ column, row }) => Promise<void>
- 行双击事件的回调函数。
- clickActionWidget:
(activeRecords: ActiveRecords, actionName: string) => Promise<void>
- 触发行点击或双击事件关联的动作。