使用vue-cli和element开发后台系统(三):常用UI组件
2018-12-25 15:56
751 查看
表单
1 组件:计数器
<el-form-item label="存储空间"> <!-- 只允许输入非负小数,小数点后保留两位 --> <el-input-number v-model="dialogData.userSaveSpace" :min="0" :precision="2"></el-input-number> GB </el-form-item> <el-form-item label="序号"> <!-- 只允许输入非负整数 --> <el-input-number v-model="dialogData.userOrders" :min="0" :precision="0"></el-input-number> </el-form-item>
precision:小数点位数。设置为0则只能输入整数
min:最小值
输入不合法的值会自动纠正、超过精度会自动四舍五入。
好处:
1 用户体验好,可以输入,可以点按钮。而且输错了会自动纠正
2 开发时不需要写验证了,省事
export default { data() { // 重名验证 var nameValidation = (rule, value, callback) => { // if (!value) { // return callback(new Error('不能为空!')); // } // if (value.length < 2 || value.length > 20) { // return callback(new Error('长度在2-20个字符!')); // } var param = { id: this.dialogData.id, name: this.dialogData.name }; this.$axios({ method: 'post', url: '/api/role/check.htmls', params: param }).then((response) => { const res = response.data; if (res) { callback(); } else { callback(new Error('存在重名!')); } }).catch(error => {}); }; return { // 数据校验 dialogRule1: { name: [ // 是按数组顺序校验的,所以走到 nameValidation 时肯定已经通过了前面两项校验。 // 为什么不把前面两项校验都放在nameValidation中?因为设置required:true可以出现红色* { required: true, message: "不能为空", trigger: "blur" }, { min: 2, max: 20, message: "长度在 2 到 20 个字符", trigger: "blur" }, { validator: nameValidation, trigger: "blur" }, ] } }; } }3 清除校验
如果弹窗中有表单,表单有验证。那么每次打开弹窗后,都需要清除验证。清除的验证包括:
1 之前打开弹窗留下的(之前的数据格式不对,但是点了取消弹窗,那么错误提示都还在)
2 这次打开弹窗时,赋值触发的验证(赋值导致值change了,会触发那些"
触发方式是change的验证")
关键点:使用
nextTick
openDial() { this.loading = true; this.$axios({ method: 'get', url: '/api/user/info.htmls', }).then((response) => { const res = response.data; if (res.code == 1) { // 赋值(会触发"触发方式为chang的验证") // .... // 显示弹窗 this.dialogVisible = true; // 赋值完成之后,等待dom树更新(等待dialogForm1加载出来),清除验证 this.$nextTick(() => { this.$refs.dialogForm1.clearValidate(); }); } this.loading = false; }).catch(error => { this.loading = false; }); },
表格
1 表格默认排序
慎用
default-sort字段
A页面中有表格table1,表格上添加了
sort-change来实现后端排序,并且添加了
default-sort来实现初始的默认排序。
在mounted中调用刷新表格的方法。【待补充】
弹窗
相关文章推荐
- 使用Vue-cli搭建后台简单管理系统vue.js2.0
- Vue-Cli+Element(搭建简单后台系统)
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之完成登录功能
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之登录窗口
- golang(4)使用beego + ace admin 开发后台系统 CRUD
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之登录窗口调试
- 【笔记】vue-cli 开发环境中跨域连接后台api(vue-resource 跨域post 请求)
- vue-cli如何对element-ui组件进行二次封装
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之完成登录功能
- 使用vue-cli开发时跨域问题
- Vue学习笔记一:使用vue-cli 创建开发环境
- 详解vue-cli 构建项目 vue-cli请求后台接口 vue-cli使用axios、sass、swiper
- 使用vue-ui来创建项目并安装vue-cli-plugin-element插件
- 精简vue+element-ui后台系统
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之调整首页显示
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之调整首页显示...
- 使用EasyUI开发后台系统-EasyUI对话框和窗体
- Vue 2.x 实战之后台管理系统开发(一)
- 使用vue-cli+webpack搭建vue开发环境的方法
- 后台:nodejs 前台:vue 全栈开发 外卖平台系统