Skip to content

核心服务 HamSfcFormService API 说明

核心服务函数,以下简称 service

内置变量 STATE

内置变量只做参考,不可直接访问

参数类型说明
ruleDataany[]克隆配置数据存放
ruleMapISuperFromRuleMap根据 $uuid 生成的索引地图数据
dataSourceAnyObject根据配置文件生成的表单数据
formRefanyel-form 表单组件元素对象
formChange(data: AnyObject) => any = function () {}表单触发数据更新的事件
formPropsAnyObject表单入参数据
formEnumsISuperFormEnumMap表单枚举数据
formTableMap<string, any>ham-sfc-table 组件元素对象

service.load

js
load(rules: any[], data = {}) {}

说明: 加载服务数据

使用场景:加载配置数据和绑定数据

js
service.load(props.config, props.modelValue)

service.loadForm

js
loadForm(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

js
loadTable(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

js
loadEnums(data: ISuperFormEnum[] = [])

说明: 初始入参

使用场景:加载props , 注意入参必须包含一个默认绑定数据 modelValue , 和一个配置入参 config

js
const props = defineProps(['config', 'modelValue'])
service.loadProps(props)

service.loadEnums

js
loadEnums(data: ISuperFormEnum[] = [])

说明: 初始化枚举信息

使用场景:初始全局枚举数据,一次调用全局使用

js
service.loadEnums(props.enums)

service.update

js
update(data: AnyObject = {})

说明: 触发更新

使用场景:当有数据更新,可以调用该方法

service.updateEnum

js
updateEnum(key: string, params: any)

**说明:**触发枚举值更新

使用场景:当有数据更新,可以调用该方法

service.dispatch

js
dispatch(name: string)

说明: 触发函数

使用场景:可以使用一些定义好的钩子

js
service.dispatch(‘setFieldValue’).run(propName: string, value: any)

service.getPropValue

js
getPropValue(code: string)

说明: 获取入参

使用场景:获取表单定义 props 中的某个值

js
service.getPropValue(‘modelVAlue’)

service.getAction

js
getAction(name: string)

说明: 获取FORM方法,执行

使用场景:获取 el-form 中内置的方法

js
service.getAction(‘validate’).run()

service.getTableAction

js
getTableAction(uuid: string, name: string)

说明: 获取FORM-Table方法,执行

使用场景:获取 ham-sfc-table > el-table 中内置的方法

js
service.getTableAction(‘getSelectionRows’).run()

service.getData

js
getData(data = this.dataSource)

说明: 获取表单数据

service.getRuleData

js
getRuleData(uuid: string): ISuperFormRuleMapValue

说明: 获取规则对象

service.getFieldName

js
getFieldName(uuid: string): string

说明: 获取数据路径

service.getFieldByUUID

js
getFieldByUUID(field: string): string

说明: 根据数据路径获取UUID

service.scrollToView

js
scrollToView(field: string)

说明: 根据数据路径滚动到指定视图

service.getConfig

js
getConfig()

说明: 获取配置

service.getEnumData

js
getEnumData(key: string): any[]

说明: 获取枚举数据

service.getEnumMap

js
getEnumMap(key: string, code: string = 'value'): any

说明: 获取枚举地图