1.9.1814 • Published 4 days ago

element-form-dy v1.9.1814

Weekly downloads
-
License
-
Repository
github
Last release
4 days ago

xt-element-form

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

例子

demo

安装

npm(推荐方式)

$ npm install element-form-dy

script

<script src="//cdn.jsdelivr.net/npm/iview-form@1.0.12/lib/iview-form.js"></script>

快速开始

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

<script>
import iViewForm from 'xt-element-form'

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

标签大小写随你心情

<iview-form @submit="onSubmit" :formList="formList"></iview-form>

使用 element-ui 组件库

<iview-form lib="element" @submit="onSubmit" :formList="formList"></iview-form>

注意

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

iview-form 参数

参数说明类型默认值
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第四参数获取String''
title显示的标签String''
width单独设置组件宽度(不包括title宽度),未设置时默认使用contentWidth宽度(只支持数值及百分比、auto写法,不支持固定的xxx px)Number,String''
type不同的类型默认值不同,具体看下面 type 的种类String''
key可以监听 submit 事件,返回的 form 里面的 key 就是你定义的 keyString''
defaultValueitem 的默认值--
isShowisShow 为 false 会不显示这个元素,但会留空行,如不想留空行可再添加hasRow:falseBoolean,Function(form, item)
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)
render自定义整行Function(h, item, form)
renderTitle自定义标签Function(h, item, form)
renderContent自定义内容主题Function(h, item, form)
renderOptiontype 为 select 时才有用,可以自定义 select 的 optionFunction(h, option, item)
disabled禁用表单元素,优先级比标签上的低Booleanfalse
settingsformItem 的标签属性,比如 style,classObject{}
border当组件库为 element 时,type:radio-group checkbox checkbox-group, 可以让选项有 borderBooleanfalse
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.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.1814

4 days ago

1.9.1811

4 days ago

1.9.1812

4 days ago

1.9.1813

4 days ago

1.9.1803

9 months ago

1.9.1804

9 months ago

1.9.1810

9 months ago

1.9.1802

9 months ago

1.9.18

1 year ago

1.9.17

2 years ago

1.9.16

2 years ago

1.9.15

2 years ago

1.9.14

2 years ago

1.9.13

2 years ago

1.9.12

2 years ago

1.9.11

2 years ago

1.9.10

2 years ago

1.9.9

2 years ago

1.9.7

2 years ago

1.9.5

2 years ago

1.9.3

2 years ago

1.9.2

2 years ago

1.9.1

2 years ago

1.9.0

2 years ago