New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@dimple-smile/dimple-lowcode

Package Overview
Dependencies
Maintainers
1
Versions
61
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@dimple-smile/dimple-lowcode

简单的表单设计器

latest
Source
npmnpm
Version
0.3.14
Version published
Weekly downloads
24
-57.89%
Maintainers
1
Weekly downloads
 
Created
Source

简介

一款无额外心智负担的表单设计器。具有以下特点:

  • 无额外运行时,支持嵌入任意业务系统
  • 组件式引入,支持个性化的业务初始配置
  • 极简的组件拓展方式,飞速拓展业务进行表单搭建
  • 基于element-ui

组件效果预览

你有两种方式预览

  • 使用浏览器访问该地址:https://dimple-lowcode.vercel.app 进行预览。
  • 这个项目本身就是一个 vue-cli 项目,git clone该项目到本地后,npm i之后 npm run dev即可预览。

目录

安装

(Back to top)

// 1.该组件依赖于element-ui,首先保证项目内引用了element-ui

// 2.在命令行里执行
$ npm i @dimple-smile/dimple-lowcode

// 3.在你的代码里写
import { DimpleLowcodeForm } from '@dimple-smile/dimple-lowcode'

使用说明

(Back to top)

下面是一个简单的使用例子

在src/App.vue文件里能看到预览使用的栗子

<template>
  <div style="height: 100vh">
    <DimpleLowcodeForm :materials="materials" :config="config" :data="data" />
  </div>
</template>

<script>
import { DimpleLowcodeForm } from '@dimple-smile/dimple-lowcode'
export default {
  components: { DimpleLowcodeForm },
  data() {
    return {
      config: {},
      materials:[],
      data:[],
    }
  },
}
</script>

参数

(Back to top)

参数名 意义 类型 默认值 说明
value渲染的表单数据Array[]用于预置渲染或者预览渲染表单页面,支持v-model
systemMaterials系统素材列表ArraysystemMaterials()系统库素材库,import { systemMaterials } from '@dimple-smile/dimple-lowcode' 可以拿到
materials素材列表Array[]会添加于系统库之后
config配置项Object{}可以填一些初始的表单配置,支持sync双向绑定
preview是否为预览模式Booleannull是否为预览模式,支持sync双向绑定
saveRequestConfig保存时的自定义配置Functionnull此配置为一个函数,会带上当前框架已经校验完成的axios请求配置
btnRequestConfig按钮提交时的自定义配置Functionnull此配置为一个函数,会带上当前框架已经校验完成的axios请求配置
saveHandler自定义保存操作Functionnull配置后请求按钮会替换为此Handler,参数:{ layout,config }
btnHandler自定义按钮操作Functionnull配置后按钮操作事件会替换为此Handler,参数:{ layout,config,btnConfig }
renderType渲染类型stringform-item每个渲染item的渲染类型,默认为表单项,填入custom可以为一个纯粹的容器
gutter布局子项之间的间距stringnull单位为px或者vw、vh
gutterPlacementgutter的位置stringright支持['top', 'bottom', 'left', 'right']四选一
// materials 配置示例
import { FormItem } from '@/components/form' 
import { 
  valueTypes, // 所有支持的数据类型
  editTypes, // 所有支持的参数编辑类型
} from '@dimple-smile/dimple-lowcode'

[
  {
    key: 'custom', 
    name: '业务组件库',
    components: [{
      key: 'custom.input', // 组件的key,必须保证全局唯一
      name: '业务输入框', // 组件的名称
      component: FormItem, // 组件的引用
      value: '', // 组件v-model的值,所有业务组件必须实现v-model
      valueType: valueTypes.string.value, // 数据类型,可以从valueTypes中获取支持的类型
      defaultProps: { type: 'input' }, // 组件的默认参数

      // renderType: 'form-item', // 组件渲染类型,默认不需要传入可以从['form-item','mobile-form-item','custom']中选择
      // defaultInputProps: {}, // 默认值输入使用组件录入时的参数

      // props对象为当前组件可配置的参数列表,每一项的编辑类型可以从editTypes中选择,每一项的值会被赋予到组件的props中
      props: {
        options: { 
          label: '选项列表', // 参数的标签名称
          value: [], // 参数的值
          editType: editTypes.options // 编辑参数时使用的组件类型
        },
      },
    }]
  }
]
// config 配置

// 表单的默认配置,import { formConfig } from '@dimple-smile/dimple-lowcode'
const formConfig = () => {
  return {
    // id: '', // 表单id,不传会自动生成
    name: '', // 表单名称
    columnWidth: '100%', // 表单项的列度
    style: { padding: '20px' }, // 表单容器的样式
    formProps: { // 表单的配置
      labelLength: 8, // 表单下所有项目的文本宽度
      alignItems: 'center', // 表单下所有项目的内容对齐方向
      labelPosition: 'right', // 表单下所有项目的标签对齐方向
      // marginBottom: '20px', // 表单下所有项目的距离底部距离
    },
    buttons: [], // 表单的操作按钮组,可以配置多个,每一项都需要满足formButtonItem的配置
    save: { ...formButtonItem, text: '保存', btnType: 'primary' }, // 表单保存配置,和按钮配置formButtonItem一样
  }
}

// 操作按钮的配置
const formButtonItem = {
  text: '按钮', // 按钮显示的文本
  btnType: 'default', // 按钮的类型:primary / success / warning / danger / info / text
  operateType: buttonOperateTypes.request.value, // 按钮的操作类型,见buttonOperateTypes
  api: '', // 按钮操作类型为网络请求时,请求的接口地址
  formDataFiledName: 'form', // 发起网络请求时表单数据的字段名
  successMsg: '发送成功', // 发起网络请求时发送成功的提示信息
  errorMsg: '发送失败', // 发起网络请求时发送失败的提示信息
  headers: [], // requestParamItem[]
  body: [], // requestParamItem[]

  link: '', // 按钮操作类型为链接跳转时,跳转的地址
}

// 按钮的操作类型 import { buttonOperateTypes } from '@dimple-smile/dimple-lowcode'
const buttonOperateTypes = {
  request: { value: 'request', label: '网络请求' },
  link: { value: 'link', label: '链接跳转' },
}

插槽

(Back to top)

参数名 意义 说明
logologo处的插槽默认为项目名称

事件

(Back to top)

参数名 意义 说明
afterSave保存成功之后触发的事件保存失败不会触发,参数为请求成功的返回值
afterSaveError保存失败之后触发的方法事件保存成功不会触发,参数为请求失败的返回值
afterBtnRequest按钮请求提交成功之后触发的事件提交失败不会触发,参数为请求成功的返回值
afterBtnRequestError按钮请求提交失败之后触发的方法事件提交成功不会触发,参数为请求失败的返回值

开发说明

(Back to top)

src文件夹存放着组件的全部源码。入口为src/packages/*

贡献

(Back to top)

@dimple-smile

赞助

(Back to top)

Love

许可证

(Back to top)

只要不商用,注明出处即可。

GNU General Public License version 3

最后

(Back to top)

谢谢你的使用~

Keywords

表单设计器

FAQs

Package last updated on 07 Jan 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts