Appearance
核心服务 HamSfcFormService API 说明
核心服务函数,以下简称 service
内置变量 STATE
内置变量只做参考,不可直接访问
| 参数 | 类型 | 说明 |
|---|---|---|
| ruleData | any[] | 克隆配置数据存放 |
| ruleMap | ISuperFromRuleMap | 根据 $uuid 生成的索引地图数据 |
| dataSource | AnyObject | 根据配置文件生成的表单数据 |
| formRef | any | el-form 表单组件元素对象 |
| formChange | (data: AnyObject) => any = function () {} | 表单触发数据更新的事件 |
| formProps | AnyObject | 表单入参数据 |
| formEnums | ISuperFormEnumMap | 表单枚举数据 |
| formTable | Map<string, any> | ham-sfc-table 组件元素对象 |
service.load
jsload(rules: any[], data = {}) {}
说明: 加载服务数据
使用场景:加载配置数据和绑定数据
js
service.load(props.config, props.modelValue)service.loadForm
jsloadForm(e: any)
说明: 加载FORM对象
使用场景:导入 el-form 的元素对象,编译后续操作
js
<template>
<el-form :ref="handleLoadForm" />
</template>
<script setup>
const service = new HamSfcFormService()
const handleLoadForm = e => service.loadForm(e)
</script>service.loadTable
jsloadTable(uuid: string, e: any)
说明: 加载table对象
使用场景:导入内置 ham-sfc-table 的元素对象,编译后续操作
js
<template>
<el-form :ref="handleLoadForm" />
</template>
<script setup>
const service = new HamSfcFormService()
const handleLoadForm = e => service.loadForm(e)
</script>service.loadProps
jsloadEnums(data: ISuperFormEnum[] = [])
说明: 初始入参
使用场景:加载props , 注意入参必须包含一个默认绑定数据 modelValue , 和一个配置入参 config
js
const props = defineProps(['config', 'modelValue'])
service.loadProps(props)service.loadEnums
jsloadEnums(data: ISuperFormEnum[] = [])
说明: 初始化枚举信息
使用场景:初始全局枚举数据,一次调用全局使用
js
service.loadEnums(props.enums)service.update
jsupdate(data: AnyObject = {})
说明: 触发更新
使用场景:当有数据更新,可以调用该方法
service.updateEnum
jsupdateEnum(key: string, params: any)
**说明:**触发枚举值更新
使用场景:当有数据更新,可以调用该方法
service.dispatch
jsdispatch(name: string)
说明: 触发函数
使用场景:可以使用一些定义好的钩子
js
service.dispatch(‘setFieldValue’).run(propName: string, value: any)service.getPropValue
jsgetPropValue(code: string)
说明: 获取入参
使用场景:获取表单定义 props 中的某个值
js
service.getPropValue(‘modelVAlue’)service.getAction
jsgetAction(name: string)
说明: 获取FORM方法,执行
使用场景:获取 el-form 中内置的方法
js
service.getAction(‘validate’).run()service.getTableAction
jsgetTableAction(uuid: string, name: string)
说明: 获取FORM-Table方法,执行
使用场景:获取 ham-sfc-table > el-table 中内置的方法
js
service.getTableAction(‘getSelectionRows’).run()service.getData
jsgetData(data = this.dataSource)
说明: 获取表单数据
service.getRuleData
jsgetRuleData(uuid: string): ISuperFormRuleMapValue
说明: 获取规则对象
service.getFieldName
jsgetFieldName(uuid: string): string
说明: 获取数据路径
service.getFieldByUUID
jsgetFieldByUUID(field: string): string
说明: 根据数据路径获取UUID
service.scrollToView
jsscrollToView(field: string)
说明: 根据数据路径滚动到指定视图
service.getConfig
jsgetConfig()
说明: 获取配置
service.getEnumData
jsgetEnumData(key: string): any[]
说明: 获取枚举数据
service.getEnumMap
jsgetEnumMap(key: string, code: string = 'value'): any
说明: 获取枚举地图