栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

proForm:基于elementUI2.x版本的高级表单

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

proForm:基于elementUI2.x版本的高级表单

通过配置自动生成表单页面:

  1. 自动生成布局

  2. 支持远程

  3. 支持联动

  4. 支持原有属性事件等

Attributes
参数说明类型必填默认
options配置,optionsobject是
value默认值,键值对,key为options里面的propobject是
footer是否显示组件提交、重置按钮boolean否true
justShow是否只读,可编辑时,上下间距为15px,只读时为10pxboolean否false

示例结构,[prop]为数据关键字,[groupKeyName]为分栏关键字,均唯一:

// 配置
options = {
    form: {
        labelWidth: '100px',
        labelPosition: 'left'
    },
    list: {
        [groupKeyName]: {
            groupTitle: '第二个组件',
            groupTitleIcon: 'el-icon-s-finance',
            groupCol: { span: 24 },
            groupFormItems: {
                [prop]: {
                    component: 'Input',
                    options: { // component options
                        placeholder: '请输入',
                        clearable: true,
                        prefixIcon: 'el-icon-user-solid',
                        col: { span: 12 },
                    },
                    formItemOptions: {
                        label: '姓名',
                        col: { span: 12 },
                        slotAfter: '测试的文字',
                        rules: [
                            {
                                required: false,
                                message: '必填!'
                            }
                        ]
                    }
                },
            }
        },
    },
    events: {
        [prop]: {
            change: (e, form) => {
                console.log(form)
            }
        }
    }
}
// 默认值
const value = {

    [prop]: '小红'

}
proForm options
属性说明类型必填
formform组件的配置,支持所有属性,model已被单独提出来作为value传入object否
list分栏配置,子元素[groupKeyName]为分栏的标识且唯一,开发者自定义,list.[groupKeyName]object是
events组件单元的事件,eventsobject否
options.list.[groupKeyName]
属性说明类型必填
groupTitle分栏标题,为空则不显示string否
groupTitleClass分栏标题的classstring否
groupTitleIcon分栏标签文字前面的iconstring否
groupCol分栏所占栅栏数,支持Layout布局的col所有属性object否
groupFormItems分栏表单的单元配置,子元素[prop]为表单的输出字段且唯一,也是form-item的prop属性,groupFormItemsstring
options.list.[groupKeyName].groupFormItems
属性说明类型必填
component组件类型,可选:Cascader, Checkbox, Date, Input, InputNumber,InputAutoComplete, Radio, Select, Switch, Timestring是
options对应该组件的Attributes,新增col,表单组件所占父级的栅栏数,支持Layout布局的col所有属性,新增enum枚举,可以使key-value键值对,也可以是{label,value}组成的数组,其中,select的remoteMethod远程搜索方法增加一个form实例,及一个回调函数,回调函数接收一个enum类似的格式:remoteMethod(query,form,callback)=>{}object是
formItemOptionsformItem组件的Attributes,新增col,formItem所占父级的栅栏数,支持Layout布局的col所有属性,prop属性可以不写,写的话需要与groupFormItems[prop]的prop一致object是
options.events
事件说明回调参数
[prop].focus组件focus事件,若原组件有(e,form)e是组件当前值,form为组件实例
[prop].blur组件blur事件,若原组件有(e,form)e是组件当前值,form为组件实例
[prop].clear组件clear事件,若原组件有(e,form)e是组件当前值,form为组件实例
[prop].input组件input事件,若原组件有(e,form)e是组件当前值,form为组件实例
[prop].change组件change事件,若原组件有(e,form)e是组件当前值,form为组件实例
[prop].select组件select事件,若原组件有,目前就InputAutoComplete组件有(e,form)e是组件当前值,form为组件实例
proForm events
方法说明参数
submit内部提交按钮点击事件,已校验rules表单数据
reset内部重置按钮点击事件表单数据
proForm slot
slot说明
[prop]formItem的默认插槽
[prop]-labelformItem的label插槽
[prop]-afterformItem后面的插槽,不在formItem内
formTitle[groupKeyName]分栏标题插槽
formAfterform组件后置插槽,紧跟formItem组件,在form组件内
使用方法 安装

npm i @mosowe2/element-pro

配置

main.js配置,因为是依赖@vue/composition-api和element-ui,所以这两个也是要安装和配置的

import Vue from 'vue';
import VueCompositionApi from '@vue/composition-api';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import App from './App.vue';
import router from './router';
import ElementPro from '@mosowe2/element-pro' // 引入


Vue.config.productionTip = false;
Vue.config.silent = true;
Vue.use(VueCompositionApi);
Vue.use(ElementUI,{size:'mini'});
Vue.use(ElementPro) // 配置

new Vue({
  router,
  render: (h) => h(App),
}).$mount('#app');

使用

.vue文件中直接使用


代码示例
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1003083.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号