1.9.1822 • Published 11 months ago

element-form-dy v1.9.1822

Weekly downloads
-
License
-
Repository
github
Last release
11 months ago

xt-element-form

让 element-ui 的 form 使用起来更加简单。

安装

npm(推荐方式)

$ npm install element-form-dy

script

<script src="//cdn.jsdelivr.net/npm/element-form-dy@1.9.1817/lib/element-form-dy.js"></script>

快速开始

<template>
  <elementFormDy @submit="onSubmit" :formList="formList"></elementFormDy>
</template>

<script>
import elementFormDy from 'element-form-dy'

export default {
  components: {
    elementFormDy
  },
  data() {
    return {
      formList: [
        {
          title: '姓名',
          type: 'input',
          key: 'name'
        }
      ]
    }
  },
  methods: {
    onSubmit(form, valid) {
      console.log(form, valid)
    }
  }
}
</script>

标签大小写随你心情

<elementFormDy @submit="onSubmit" :formList="formList"></elementFormDy>

使用 element-ui 组件库

<elementFormDy lib="element" @submit="onSubmit" :formList="formList"></elementFormDy>

注意

如果你是 script 标签引入的,那么所有的参数要用小写,并且单词用 - 链接。
elementFormDy => element-form-dy
formList => form-list

element-form-dy 参数

参数说明类型默认值
grid网格,更多请看 demoNumber-
gutter当使用了 grid 属性时,设置此属性可以调整间距Number, Array-
formList配置项(看下面 formList 参数)Array[]
notCtrl是否不显示 提交、重置 按钮Booleanfalse
enterSubmit如果设定这个值为 true,那么 input 按 enter 键会触发 submit 事件Booleanfalse
lib可选值('iview', 'element'),如果指定为 element 那么组件会按照 element 来渲染String'iview'
label-width标签的宽度Number100
content-width内容的宽度(支持 百分比 auto)Number, String240
width组件的宽度(只支持数值及百分比、auto写法,不支持固定的xxx px)Number, String-
optionsiView 和 element-ui 原生 props ( :options="{size: 'small'}" )Object{}
submitText提交按钮文本String'提交'
resetText重置按钮文本String'重置'
hasSubmitBtn是否显示提交按钮Booleantrue
hasResetBtn是否显示重置按钮Booleantrue
clearable控制是否显示清除 iconBooleantrue
maxlength默认全局 input 的 maxlengthNumber20
textareaMaxlength默认全局 textarea 的 maxlengthNumber256
readonly如果设定这个值为 true,那么该表单下所有的表单元素都会是 read
disabled如果设定这个值为 true,那么该表单下所有的表单元素都会被禁用BooleanfalsenlyBooleanfalse

formList 参数

参数说明类型默认值
ref设置组件的ref,可在onInput第四参数、submit第三参数获取String''
title显示的标签String''
width单独设置组件宽度(不包括title宽度),未设置时默认使用contentWidth宽度(只支持数值及百分比、auto写法,不支持固定的xxx px)Number,String''
type不同的类型默认值不同,具体看下面 type 的种类String''
key可以监听 submit 事件,返回的 form 里面的 key 就是你定义的 keyString''
rule单个表单验证Array/Object-
defaultValueitem 的默认值, 参见type种类表--
hasRowisShow为false时是否保留空行Boolean,Function(form, item)true
isShowisShow 为 false 会不显示这个元素,但会留空行,如不想留空行可再添加hasRow:falseBoolean,Function(form, item)true
props组件库自带的参数,可以参考 iview 或者 element 组件库的文档Object{}
attrs组件库自带的参数,可以参考 iview 或者 element 组件库的文档Object{}
texttype 为 checkbox 或者 radio 时才有用,显示后面跟着的文字String''
optionstype 为 select、checkbox-group、radio-group、cascader 时才有用,由 {value: 0, text: '苹果'} 组成,数据项支持异步Array[]
onInput监听参数改变事件Function(value, item, form, currentRef, allRef)
render自定义整行Function(h, item, form)
renderTitle自定义标签Function(h, item, form)
renderContent自定义内容主题Function(h, item, form)
renderOptiontype 为 select 时才有用,可以自定义 select 的 optionFunction(h, option, item)
disabled禁用表单元素,优先级比标签上的低Boolean,Function(form, item)false
settingsformItem 的标签属性,比如 style,classObject{}
border当组件库为 element 时,type:radio-group checkbox checkbox-group, 可以让选项有 bogirderBooleanfalse
on当前 content 的 on 配置项, 如果要监听 input 事件 请使用 onInputObject{}
nativeOn当前 content 的 nativeOn 配置项Object{}

type 种类

类型默认值其它
input''默认 maxlength: 20, textarea: 256
input-number0默认 min: 0, max: 9999999
selectnull
checkboxfalse
checkbox-group[]
radiofalse没有意义,不建议使用
radio-group''String,Number
date当前时间,new Date()
datetime当前时间,new Date()
daterange'', ''
datetimerange'', ''
time''
switchfalse
slider0
cascader[]

内置方法

名称说明参数返回值
clear清除表单验证(暂时只支持element-ui)--
reset还原表单(默认会调用 clear)--
getFormBykey根据 key 来获取这个 key 在 form 的值{ key: value, ... }-
getForm获取 form 的值-{ key: value, ... }
setForm设置 form 的值{ key: value, ... }-
submit手动触发 submit 事件--
validateField对部分表单字段进行校验的方法。仅当 lib 为 element 的时候,支持第一个参数是数组(props: array or string, callback: Function(errorMessage: string)-

事件

名称说明返回类型返回值
submit提交按钮的点击事件Object(form, valid)

更新日志

1.9.1822

  1. reset重置时可选择传true来过滤禁用的项

1.9.1820

  1. disabled 加入form传值

1.9.1814

  1. 单个组件中返回所有ref的值
  2. 单个组件添加function类型,简单的判断disabled的值

1.9.1810

  1. 修改清除验证方法,可单项清除

1.9.18

  1. 下拉框、单选框、多选框添加单条禁用

1.9.16

  1. 表单项添加ref,可以使用$refs,input返回当前form的refs

1.9.5

  1. title为空时不渲染title的标签

1.9.3

  1. 下拉框添加 disabled,用以禁用部分选择项

1.9.0

  1. 添加 validateField,单项表单验证

1.8.1

  1. 修复 clear 清空表单无法清空的 bug

1.8.0

  1. 修复样式错误的 bug

1.7.0

  1. 修复 renderTitle 和 render 函数没有 form 的bug

1.6.0

  1. 修复在父组件使用 render(render,renderTitle,renderContent)时,设置 ref 会获取不到对象
  2. 添加 clear 清除方法

1.5.0

  1. 支持每个组件的 on 与 nativeOn 配置

1.4.0

  1. 当组件库为 element 时,type:radio-group checkbox checkbox-group 支持 border 属性

1.3.0

  1. 删除 readonly,因为只能作用于几种类型(input, select),作用不大
  2. 添加 cascader 类型,跟 select 的用法类似 { value: 'xxx', text: 'xxx' }, ...

1.2.0

  1. 删除不必要的提示

1.1.5

  1. 添加标签的 gutter 属性
  2. content-width 支持 auto 100% 值

1.1.4

  1. 修改 1.1.3 失效问题

1.1.3

  1. 添加 item 的 setting 属性,可以在 formItem 上添加样式了

1.1.2

  1. 添加全局和单体 readonly 属性

1.1.1

  1. 添加 type: time 类型
  2. 修改 reset 方法不能清空验证

1.1.0

  1. 添加 type: input-number 类型
  2. 添加 maxlength 和 textareaMaxlength 属性,分别作用于 input 和 textarea 上,默认值分别是 20 、256
  3. 添加 setForm 方法
  4. 修改 datetimerange 的默认宽度为 360
  5. 修改 textarea 如果设置了 enterSubmit,不再触发 submit 事件
  6. 修改 element-ui 的 placeholder 现在可以写在 props 里

1.0.12

  1. 可以在网页里面用 script 标签引入啦!

1.0.11

  1. 修复 options、submitText、resetText、hasSubmitBtn、hasResetBtn 失效的原因

1.0.10

  1. isShow 属性,可以使用方法了
  2. 添加 clearable 属性,默认为 true

1.0.9

  1. 添加 isShow 属性

1.0.8

  1. 修改 tpye 为 switch 时 props 不生效

1.0.7

  1. 修改 input 的 placeholder 需要添加在 attrs 里面
  2. 添加 formList 的 render 函数

1.0.6

  1. 修改 重置按钮 跟 提交按钮重复的问题

1.0.5

  1. 添加 options 自定义组建自带 props 属性
  2. 添加 hasSubmitBtn、hasResetBtn 自定义是否显示按钮属性
  3. 添加 submitText、resetText 自定义按钮文本属性
  4. 删除 autocomplete 属性

LICENSE

MIT

1.9.1821

11 months ago

1.9.1822

11 months ago

1.9.1820

1 year ago

1.9.1818

1 year ago

1.9.1819

1 year ago

1.9.1816

1 year ago

1.9.1817

1 year ago

1.9.1815

1 year ago

1.9.1814

1 year ago

1.9.1811

1 year ago

1.9.1812

1 year ago

1.9.1813

1 year ago

1.9.1803

2 years ago

1.9.1804

2 years ago

1.9.1810

2 years ago

1.9.1802

2 years ago

1.9.18

3 years ago

1.9.17

3 years ago

1.9.16

3 years ago

1.9.15

3 years ago

1.9.14

3 years ago

1.9.13

3 years ago

1.9.12

3 years ago

1.9.11

3 years ago

1.9.10

3 years ago

1.9.9

3 years ago

1.9.7

3 years ago

1.9.5

3 years ago

1.9.3

3 years ago

1.9.2

3 years ago

1.9.1

3 years ago

1.9.0

3 years ago