1.7.7 • Published 5 months ago

@ttkj/avue-form-design v1.7.7

Weekly downloads
-
License
MIT
Repository
-
Last release
5 months ago

简介

基于@ttkj/avue的表单设计器

依赖

element-ui 2.15.2+

$ npm i element-ui

@ttkj/avue 2.10.23

$ npm i @ttkj/avue

或自行引入cdn

安装

组件

$ npm i @ttkj/avue-form-design
或
$ yarn add @ttkj/avue-form-design

使用

import AvueFormDesign from '@ttkj/avue-form-design'

Vue.use(AvueFormDesign)
<avue-form-design style="height: 86vh;"
                  :options="options"
                  storage
                  @submit="handleSubmit"></avue-form-design>

属性

参数说明类型默认值
options字段配置Object/String{ column: [] }
storage开启本地存储功能,防止浏览器刷新丢失jsonBooleanfalse
asideLeftWidth左工具栏宽度String/Number'270px'
asideRightWidth右工具栏宽度String/Number'380px'
toolbar顶部工具栏Array'avue-doc', 'import', 'generate', 'preview', 'clear'
undoRedo是否开启撤销重做功能Booleantrue
includeFields左侧展示字段ArrayfieldsConfig.js中配置的字段
excludeFields左侧禁用字段ArrayfieldsConfig.js中配置的字段
customFields自定义组件Array使用方法见下文
customFieldsConfigs自定义组件属性配置组件Object其中key为自定义组件的component,value为组件属性设计器名称
defaultValues默认值配置Object-
fieldConfigs用于表单设计器组件库属性的配置Object-
fieldEventConfig通用的组件事件配置Object-
eventConfig全局事件配置Object-
customTransformToAvueOptions设计器配置项转avue配置项(data, obj) => Promise<object>第一个参数data为内置转化后的option,第二个obj为原始的设计器配置项,返回值是一个Promise,值为avue配置项
customTransAvueOptionsToFormDesigneravue配置项转设计器配置项(data, obj) => Promise<object>第一个参数data为内置转化后的option,第二个obj为原始的avue配置项,返回值是一个Promise,值为设计器配置项

customFields使用方法

customFields可以直接是表单组件配置,也可以是一个分组

参数说明类型默认值
title分组名称string不填则为'自定义'
sort分组排序number不填按顺序填充到内置组件分组后
list组件列表Array表单组件配置列表

options字段配置

Avue文档

属性说明类型可选值默认值
columnAvue字段Array-[]
labelPosition字段位置String'left'/'center'/'right'-
labelWidth字段宽度Number--
gutter字段间隔Number-0
menuBtn表单按钮Booleantrue/falsetrue
submitBtn显示提交按钮Booleantrue/falsetrue
submitText提交按钮文本String-'提交'
emptyBtn显示清空按钮Booleantrue/falsetrue
emptyText清空按钮文本String-'清空'
detail详情模式Booleantrue/falsefalse
readonly全局只读Booleantrue/falsefalse
disabled全局禁用Booleantrue/falsefalse

defaultValues配置

defaultValues是一个数组。

属性说明类型可选值默认值
type值的类型StringString: '字符串', Number: '数值', Boolean: '布尔值',Array: '数组', Object: '对象', Date: '时间类'-
label显示名称String--
value值/表达式String--

fieldConfigs说明

fieldConfigs对表单组件配置属性的配置。涵盖了内置组件和自定义组件。

key为组件类型,value为配置项。配置项如下:

属性说明类型可选值默认值
column展示字段的覆盖配置Object--
config设计器的配置Object--

config配置

{
  fieldConfigs: {
    type: {             // 组件type
      column: {},       // 组件column覆盖配置
      config: {         // 设计器配置
        icon: '',       // 左侧拖拽按钮图标
        tip: '',        // 左侧拖拽按钮提示
        label: '',      // 左侧拖拽按钮显示文字
        component: '', // 配置组件Name
        params: {       // 基本属性配置
          param: {      // 某个属性的配置,如果为boolean,等同于对象下show状态
            show: true, // 是否显示配置, 不配置表示显示
            disabled: false,  // 显示情况下是否可编辑
            value: '',        // 配置项的默认值
            valueType: [],    // param为value时的配置,详见默认值配置
            ...         // 其他视属性本身而定
          }
        },
        validate: true,       // 是否显示校验栏
        dataSubmit: true,  // 是否显示数据提交栏
        events: {             // 事件配置。如果为boolean,等同于对象下show状态
          show: true,         // 是否显示事件配置, 不配置表示显示
          list: [],           // 可用的事件
          config: {           // 事件配置
            event: {          // 事件ID
              id: 'event',    // 事件ID
              name: '',       // 事件名称
              note: [         // 事件参数说明
                {
                  name: '',         // 参数key
                  type: '',         // 参数字段类型
                  description: ''   // 参数说明
                }
              ],
              template: ''      // 事件默认模板
            }
          }
        }
      }
    }
  }
}

事件

名称说明回调参数
submit生成json回调当前配置的json

方法

名称说明参数返回
getData获取当前编辑器的JSONtype: 'string'/'json'Promise

插槽

名称说明
toolbar顶部工具栏右侧插槽
toolbar-left顶部工具栏左侧插槽

Avue插件

富文本

import AvueUeditor from 'avue-plugin-ueditor'

Vue.use(AvueUeditor)

打包

组件

$ yarn lib

源码

$ yarn build
1.7.7

5 months ago

1.7.6

10 months ago

1.7.5

1 year ago

1.7.4

1 year ago

1.7.3

1 year ago

1.7.2

1 year ago

1.7.1

1 year ago