0.1.13 • Published 2 years ago

addform v0.1.13

Weekly downloads
-
License
WWW
Repository
-
Last release
2 years ago

动态表单组件

安装

npm i element-ui
npm i addform

main.js 代码

import Vue from 'vue'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import addform from 'addform'
Vue.use(ElementUI)
Vue.use(addform)

示例
<add-form :objInfo="objinfo"></add-form>
objinfo: [
        { key: "name", title: "姓名", val: "张三", max: 10 },
        { key: "age", title: "年龄", val: 13, number: true },
        {
          key: "sex", title: "性别", val: "", dicts: [], query: async (a, b) => {
            let url="http://api.lengyun.co:18070/erp/mallvisitor/goodslist.do";
            let data = await axios.post(url,
              {
                "page": 1,
                "pagesize": 24,
                "fieldlist": "*",
                "goodsname": a,
                "fl1": 2,
                "orderlist": "orderid asc"
              })
            b(data.data.data.list.map(a => {
              return {
                label: a.goodsname,
                value: a.goodsid,
              }
            }))
          }
        },
        { key: "time", title: "出生日期", val: "", time: true },
      ]

表单参数列表

参数说明类型默认值可选值
objInfo表单属性Arrary[]---
width表单宽度Number780---
title表单标题String新增String
isreadonly是否禁用表单Booleanfalse---
labelWidth表单项标题宽度Number120---
defaultItemWidth默认表单项目宽度Number320---
fullscreen全屏Booleanfalse---
showFooter是否显示footerBooleantrue---
showCommitBtn是否显示提交按钮Booleantrue---
showCancelBtn是否显示取消按钮Booleantrue---
commitText提交按钮文本String提交---
cancelText取消按钮文本String取消---
centerfooter内容是否居中Stringcentercenter,left,right
表单项参数列表
参数说明类型默认值
title标题String---
key关联model实体绑定值String---
valvalueanyany
number数字输入框Booleanundefined
date日期输入框Booleanundefined
time时间输入框Booleanundefined
dicts选择框Array[]
query选择框有效,查询方法,执行callBack方法赋值给dictsFunction(queryText,callBack)undefined
area多行方本框Booleanundefined
radio单选框Array[]
checkbox多选框Array[]
labels单选框和多选框有效,显示单选框和多选框字段,和values数组长度等长Array[]
Events
事件名称说明回调参数
saveData保存表单数据form 对象数据
close关闭表单窗体执行事件---

validate
校验规则说明
required不能为空true,false
email邮箱格式true,false
max最大长度number
validate自定义验证function(rule, value, callback)
正则自定义验证示例
objInfo: [
        {
          key: "name",
          title: "姓名",
          val: "",
          required: true,
          validate: (rule, value, callback) => {
            if (value === "fail") {
              callback(new Error("测试错误!"));
            } else {
              callback();
            }
          },
        },
        { key: "age", title: "年龄", val: "18", number: true },
        { key: "company", title: "公司", val: "", max: 10 },
        {
          key: "sex",
          title: "性别",
          val: "",
          dicts: () => [],
          query: (aa, b) => {
            b(
              [
                { label: "男", value: "1" },
                { label: "女", value: "0" },
              ].filter((b) => b.label == aa)
            );
          },
        },
        {
          key: "url",
          title: "日期",
          val: "",
          date: true,
          width: 650,
        },
        { key: "remark", title: "备注", val: "", text: true, width: 650 },
      ]

slot

表单项各项都可以用插槽重写,slot name=add+item.key
name说明
add-title弹窗标题
add-footer弹窗footer

项目地址

点击跳转至GITHUB

0.1.13

2 years ago

0.1.12

2 years ago

0.1.11

2 years ago

0.1.10

2 years ago

0.1.8

2 years ago

0.1.7

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago