仅用于记录,使用方法笔记:详情:
设计思路: |
弹出层里面加载Froma表单(应需求里面表单都是弹出层) |
设计要点: |
一般建议子组件里面不进行任何业务操作(业务逻辑操作,建议在父组件中使用),这样便于组建的复用性 |
组建拆分越简单越好,子组建中的参数传递到最外层组建(父组件)方法可以用vuex来过度 数据或者stroage(不建议一层一层传递) |
GIT:https://github.com/Apache-Ra/vue-admin/blob/vue-element-admin |
本框架是为了快速搭建后台管理系统而写(希望大佬们多多提意见) 本框架分为不带UI的vue-admin和 vue+elemenu-admin后期会加上iview的 本框架集成了vuex.Axios,LocalStroage,router·······常用的工具类(可以更具实际项目需求,稍做变动,即可直接使用) |
父组件:
---------------------------------------------参数--------------------------------------------
/**
* @type {default.methods}
* @dialog: dialog的开启或者是关闭
* @title: dialog提示内容(title)
* @type:dialog的类型(用于区分多个dialog)
* @multiple:select是否多选,默认为单选
*/
let vue = this
// 开启dialog
vue.showUpdateDiaLog = true
let formObj = {
dialog: true,
title: '创建用户',
type: 'create',
formData: {
formList:[
{type: 'input', inputType: 'text', disabled: false, inputLabel: '用户名称', modelName: 'userName', placeholder: '请输入用户名', required: true, defaultValue: null},
{type: 'input', inputType: 'password', disabled: false, inputLabel: '用户密码', modelName: 'userPwd', placeholder: '请输入密码', required: true, defaultValue: null},
{type: 'select', inputType: 'select', disabled: true, inputLabel: '用户级别', modelName: 'userLevel', placeholder: '请输入选择用户级别', options: [{value: '0', label: '超级管理员'}, {value: '1', label: '测试管理员'}], required: true, defaultValue: null},
{type: 'textarea', inputType: 'textarea', disabled: false, inputLabel: '用户描述', modelName: 'userDescription', placeholder: '请输入用户描述', required: false, defaultValue: null}
]
}
};
vue.dialogData.dialog = true;
vue.dialogData = formObj;
--------------------------------------------handleDiaLogConfirm方法-------------------------------------------
// 处理dialog弹窗确定
handleDiaLogConfirm (item, type) {
let vue = this
// 区分是创建还是修改
if (type=='exit') {
vue.handleDiaLogExitConfirm(item);
} else if (type= 'create') {
vue.handleDiaLogCreatedConfirm (item);
}
--------------------------------------------子组建--------------------------------------------handleDiaLogConfirm
:visible.sync="dialogData.dialog" class="dialogBar">
--------------------------------------------子子组建--------------------------------------------
:label-width="FormData.labelWidth || '80px'"
:label-position="FormData.labelPosition || 'left'">
:required="inputItem.required"
v-if="inputItem.type == 'input'"
:label="inputItem.inputLabel">
:type="inputItem.inputType"
:disabled="inputItem.disabled"
:placeholder="inputItem.placeholder"
v-model="inputItem.defaultValue">
:required="inputItem.required"
v-if="inputItem.type == 'select'"
:label="inputItem.inputLabel">
:disabled="inputItem.disabled"
:placeholder="inputItem.placeholder">
:label="item.label">
--------------------------------------------子子组建--------------------------------------------