初学vue 在做项目时遇到的问题与解决办法(使用element组件)(二)
- 表格每行里都有按钮
<el-table-column prop="option" label="操作" align="center" ><template slot-scope="scope"><el-button size="mini" plain @click="del(scope.$index,scope.row)">删除</el-button><el-button size="mini" plain @click="[edit(scope.$index,scope.row),editVisible =true]">修改</el-button></template> </el-table-column>
View Code
单击删除按钮时获取本行的id: del(index, row) { alert(row.id) }
element 的表单一行显示多个标签
1). :inline="true"
<el-form :inline="true" :model="seach" :label-width="labelwidth">
2). 使用el-row el-col去分割
<el-form :model="ruleForm" ><el-row type="flex" class="row-bg"><el-col :span="12"><el-form-item label="签约企业名称" prop="ep_name"><el-input style="width:16em" v-model="ruleForm.ep_name"></el-input></el-form-item></el-col><el-form-item label="签约企业简称" prop="ep_abbreviation"><el-input style="width:16em" v-model="ruleForm.ep_abbreviation"></el-input></el-form-item></el-row> </el-form>
View Code
- 表单验证规则
查看文档:https://blog.csdn.net/weixin_42018790/article/details/80762149
1). el-form增加
:rules="rules"
2). el-form-item 中的label增加属性
prop="名称"
3). data中定义rules:{}
例子:
<el-form ref="form" :rules="rules" :model="form" label-width="300px"><el-form-item label="发货人电话" prop="phone"><el-input class="inp" v-model="form.phone"></el-input></el-form-item><el-form-item label="发货地址:" prop="address"><el-input class="inp" v-model="form.address" ></el-input><el-button type="primary"@click="onSubmit('form')">常用地址</el-button></el-form-item></el-form>
vue html代码
<script> export default {data() {// 此处自定义校验手机号码js逻辑var phoneReg = /^[1][3,4,5,7,8][0-9]{9}$/var validatePhone = (rule, value, callback) => {if (!value) {return callback(new Error('号码不能为空!!'))}setTimeout(() => {if (!phoneReg.test(value)) {callback(new Error('格式有误'))} else {callback()}}, 1000) } },return {form: {phone:'',address: '',},// 校验规则 rules: {// 校验手机号码,主要通过validator来指定验证器名称phone: [{ required: true, validator: validatePhone, trigger: 'blur' }],address: [{ required: true, //是否必填message: '地址不能为空', //规则trigger: 'blur' //何事件触发 },//可以设置双重验证标准{ min: 3, max: 5, message: '长度在 3 到 5 个字符', }]}}}</script>
Vue js 代码
计算属性,依赖发生变化时,重新计算computed:
<el-form-item label="单价:" prop="price" ><el-input v-model="addform.price" type="number" placeholder="请输入单价" auto-complete="off" class="widc" ></el-input></el-form-item> <el-form-item label="数量:" prop="number" ><el-input v-model="addform.number" type="number" placeholder="请输入数量" auto-complete="off" class="widc" ></el-input> </el-form-item> <el-form-item label="总金额:" prop="sum" ><div v-model="addform.countNum" class="border" ><span style="margin-left: 10%">{{countNum}}</span></div> </el-form-item>
vue html代码
// 计算总金额 computed:{countNum:function(addform){let countNum=Number(this.addform.price) * Number(this.addform.number)return countNum}},
vue JavaScript代码
- 将内容滚动到指定坐标
window.scrollTo(xpos,ypos);
- element ui组件的开始时间-结束时间验证
<el-date-picker v-model="seach.before" type="date" placeholder="开始时间" value-format="yyyy-MM-dd" class="wida" :picker-options="pickerBeginDateBefore" @change="changeTime"> </el-date-picker><span class="zhi">至</span> <el-date-picker v-model="seach.after" type="date" placeholder="结束时间"value-format="yyyy-MM-dd" class="wida" :picker-options="pickerBeginDateAfter"> </el-date-picker>
template中
seach:{before:'',after:'', },// 开始时间不大于结束时间// 开始时间pickerBeginDateBefore: {disabledDate: (time) => {let beginDateVal = this.seach.after;if (beginDateVal) {return time.getTime() > beginDateVal;}}},// 结束时间pickerBeginDateAfter: {disabledDate: (time) => {let beginDateVal = this.seach.before;if (beginDateVal) {return time.getTime() < beginDateVal;}}},
return 中
//选择开始时间,清空结束时间changeTime(date){// this.seach.before="";// console.log(this.seach.before)this.pickerBeginDateAfter={disabledDate(time) { //开始时间-结束时间return (time.getTime() < new Date(date).getTime());}}},
methods 中
element表格不设置行宽的时候会自适应显示
页面一加载的时候执行方法要在created中调用:
created:function(){this.getTableData();/*调用的方法*/ },
View Code
- v-if 和v-show区别:
通俗说:用法一样,意思不一样
v-if就是动态添加/删除,是真时的渲染,为true时才编译
v-show就是显示/隐藏,刚开始的时候就编译了,只是被保留下来,改变了css的display属性值
- element 表头单击事件
使用element.ui之后 @click="" 无法对表头等元素添加点击事件,应该是@click.native=""
转载于:https://www.cnblogs.com/M-miao/p/9767714.html
初学vue 在做项目时遇到的问题与解决办法(使用element组件)(二)相关推荐
- Vue使用filters过滤时不能使用this的解决办法——两次遇到了,一定要记住奥~
Vue使用filters过滤时不能使用this的解决办法 script部分 filters: {getName(val) {for (let i = 0; i < this.list.lengt ...
- 创建VUE项目时遇到的困难以及解决办法记录
问题1:vue-cli4版本脚手架运行时element-ui报错 Warning in ./src/plugins/element.js "export 'default' (importe ...
- vue+ivew-admin开发项目,内存占用过大解决办法
项目用的ivew+admin ivewUI,直接从github上拉下来用的,配置也没改,我们页面比较多,大该30个页面的样子,一启用,我们的电脑就卡了,然后,看一下,内存占用 1.5G+了,我们电脑4 ...
- VC编译项目时缺少atlrx.h的解决办法
转自:http://blog.csdn.net/zhouxinyu1cp/article/details/42738587 VS2010中由于将ALT项目的部分代码剥离出去成为了独立的开源项目,需要用 ...
- Eclipse 导入 Web 项目时常见的错误及解决办法
1.The compiler compliance specified is 1.5 but a JRE 1.8 is used 右键点击项目>Properties>Java Compil ...
- 【Vue】—Vue脚手架创建项目时的 linter / formatter config配置选择
[Vue]-Vue脚手架创建项目时的 linter / formatter config配置选择 ESLint with error prevention only 只进行报错提醒 ESLint + ...
- labview软件工程师必备模块,做项目时遇到无赖客户可以在规定天数到达锁死,给序列号可根据设置天数生成序号允许天数继续使用
labview软件工程师必备模块,做项目时遇到无赖客户可以在规定天数到达锁死,给序列号可根据设置天数生成序号允许天数继续使用,到期又锁死,三层数据加密验证防破解! ID:356863259730932 ...
- 开发Vue或React项目时路径别名智能提示方案
开发Vue或React项目时路径别名智能提示方案 前言 在我们开发Vue或React项目时,每次配置完路径别名,在输入路径时都没有对应的智能提示路径,如何解决这个痛点呢? 笔者通常都是使用vscode ...
- VUE项目中遇到的问题和解决办法 (1) route.query刷新后丢失
VUE项目中遇到的问题和解决办法 (1) route.query刷新后丢失 背景:今天在写项目时需要用到,route.query获取参数,本来这是一个很简单的问题,但是我遇到了参数丢失的问题 环境: ...
最新文章
- sqlserver 行转列
- 设置ListView每条数据之间的间隔
- 利用 exe4j 将 JAR 包制成免安装 JDK 的 EXE 文件
- surfire单元测试添加jvm参数
- LINUX SHELL的神器,sed
- Haproxy安装及配置(转)
- iQOO Neo5搭载66W超快闪充:30分钟回血!
- https://akaedu.github.io/book/ch32s02.html
- c语言中队列的作用,循环队列的实现(C语言)
- 计算机电路基础实验一仪器使用,计算机电路基础(1)实验.pdf
- python学习笔记--python简介
- 教之初在线计算机考题,教之初计算机考试系统出题说明.pdf
- excel 画散点图 怎么设置图片的分辨率_有哪些相见恨晚的Excel图表制作方法?
- 为什么网站打开速度慢?
- 微信公众号模板如何使用?公众号模板教程!
- DataFrame数据选取超全攻略
- 逆向破解之破解补丁与劫持Dll
- 【华人学者风采】汪建军 华北电力大学
- 24505 Problem A	例题1-1-1 按要求输出信息(1)
- python实现淘宝秒杀_python实现简单淘宝秒杀功能