玩转搭贝
表单管理
表单设计
流程设计
流程设计
流程常见问题
仪表盘
基础图表
自定义组件
常见问题FAQ
列表相关FAQ
业务规则FAQ
数据导入FAQ
更新日志
场景解决方案
人事/绩效
行政/资产
销售/客户
项目/任务/工单
物业/园区
进销存/仓储
商管/租赁
法律业务
行业解决方案
制造业/工业生产
- 搭贝学院
- 组件开发
- 自定义组件
自定义组件
发布人:爱搭贝
更新时间:2026-05-19
主题样式
为了保持用户自定义组件的主题和平台主题一致,需使用css var来设置颜色
使用var(--k6-primary-color)
<style lang="scss">
.demo-form-input {
padding: 10px;
border: 1px solid var(--k6-primary-color); // 使用主题色示例
input {
color: var(--k6-primary-color); // 使用主题色示例
}
}
</style>
在开发过程中中可以通过点击右上角的头像,切换主题进行调试
![]() |
|---|
表单组件API
需实现双向数据绑定,即v-model 使用inject, 注入formRender, 拿到渲染器组件实例,使用formRender.formContext拿到表单数据的上下文进行数据操作
Props
![]() |
|---|
表单按钮API
Props
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| isApprove | Boolean |
false |
是否为流程表单 |
| developProvide | Object |
{props:{}, emits:{}, methods:{}} |
平台注入的代理对象 |
developProvide props
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| formId | String |
'' |
表单id |
| formKey | String |
'' |
表单key |
| formData | Object |
{} |
表单数据 |
| formAction | Object |
{} |
表单状态,add-新增 edit-编辑 info-详情 |
| formSchema | Object |
{} |
表单设计描述协议 |
| formRaw | Object |
{} |
表单设计信息 |
| isExcel | String |
false |
是否为excel布局表单 |
developProvide.props.formData // 表单数据
developProvide emits
submit(): 触发表单提交,会进表单校验print(): 触发表单打印,弹出打印窗口delete(): 触发表单删除,会有二次确认edit(): 触发表单再次编辑,当前是详情状态可用cancel(): 触发表单取消动作
// 关闭弹框
developProvide.emits.cancel()
developProvide methods
serializeFormJson(skip): 序列化表单数据,skip=true跳过表单验证
serializeFormJson().then(data => {
// TODO:
})
![]() |
|---|
列表按钮API
Props
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| developProvide | Object |
{props:{}, emits:{}, on:{}} |
平台注入的代理对象 |
developProvide props
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| formId | String |
'' |
表单id |
| formKey | String |
'' |
表单key |
| tabId | String |
'' |
tabId |
| formType | Number |
'' |
表单类型,可选值0-普通表单,1-流程表单 |
| flowType | String |
'' |
表单类型,可选值枚举值定义如下 |
| checkedRows | Array |
[] |
用户选择的行数据 |
export const KEY_FLOW_TYPE = {
CREATE: -1, // 创建流程 => 前端自己定义的状态
TODO: 3, // 待办
INITIATOR: 4, // 申请
DONE: 5, // 已办
DRAFT: 6, // 草稿
DELEGATE: 7, // 委托代理
MONITOR: 8, // 流程监控
DESTROY: 9, // 流程删除
SEARCH: 10, // 流程查询
NOTIFY: 11 // 知会
}
developProvide.props.formId // 当前表单id
developProvide emits
refresh(): 刷新列表create(): 普通表单为新增表单,流程表单为发起流程delete(): 普通表单为删除表单,流程表单为删除草稿
developProvide.emits.refresh() // 刷新数据
developProvide on
checkedChange(checkedRows): 监听选择行数据
developProvide.on.checkedChange = function (checkedRows) {
// 监听选择数据事件
}
列表按钮调试示例
![]() |
|---|
列表项API
Props
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| schema | Object |
{} |
当前列的设计协议 |
| developProvide | Object |
{props:{}, emits:{}, on:{}} |
平台注入的代理对象 |
developProvide 参数同列表按钮developProvide
列表项调试示例
![]() |
|---|
自定义页面API
Props
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| formInfo | Object |
{} |
当前表单的基本信息 |
自定义页面调试示例
![]() |
|---|
本篇目录
{{ dl1.name }}
{{ dl2.name }}
{{ dl3.name }}





