ElementUI 知识点
- 类型是number的el-input 去掉滚轮事件: @mousewheel.native.prevent
<el-input type="number" @mousewheel.native.prevent v-model="" size="small"></el-input>
- 键盘回车事件导致页面刷新的问题: el-form 添加@submit.native.prevent
<el-form @submit.native.prevent> </el-form>
树形组件:http://element-cn.eleme.io/2.4/#/zh-CN/component/tree
注意:当check-strictly为false时,当设置选中的节点 setCheckedKeys,有一级栏目的id时,所有的二级栏目都会被选中。submitForm 要写在 mounted(mounted 是编译好的html挂载到页面之后,执行的钩子函数) 生命周期里,代码如下:
mounted () {
this.submitForm('ruleForm')
}
- 让el-tree 出现横向滚动条:
https://github.com/ElemeFE/element/issues/4456
.el-tree-node > .el-tree-node__children {
overflow: inherit;
background-color: transparent
}
- el-dialog 点击空白处时,不关闭:
添加 before-close 方法。
通过控制v-model,来显示或隐藏 el-dialog。
下面是 stylus 语法
el-dialog(v-model="headPicDialogVisible" size="tiny" :before-close="handleBeforeClose")
handleBeforeClose (done) {
// el-dialog 点击空白处时,不关闭:
this.$confirm('确认关闭?')
.then(function () {
done();
})
.catch(function () {
});
}
- 表单验证里的必填: required,有2种写法:
- 把 required 属性直接写在 el-form-item 里
作用:只是让 label 加红星
el-form-item.area(label='所在地' required)
el-form-item.left(prop='province')
el-select(v-model='form.province' placeholder='省/直辖市' @change="form.city = cityOptions[0]")
el-option(v-for='item in provOptions' v-bind:label='item' v-bind:value='item')
el-form-item.left(prop='city')
el-select(v-model='form.city' placeholder='市/区' no-data-text='请先选择省/直辖市')
el-option(v-for='item in cityOptions' v-bind:label='item' v-bind:value='item')
- 必填规则写在 rules 里
作用:label 会加红星,而且如果该项没填写的,该表单填写框下会提示message里的内容(如果没有message,则提示:[prop_name] is required )
rules: {
name: [{ type: 'string', required: true, min: 1, max: 30, message: '请输入1-30个字的秒拍号名称', trigger: 'blur' }]
}
问题:el-select 的下拉框部分(class="el-select-dropdown"的div),没有出现在页面靠近body结束标签的地方,导致点击无法出现下拉框。
解决:临近的 div 没有设置宽度(造成该 div 覆盖在 el-select 之上) 或 没有设置 float:left。问:当深度watch一个对象时,newval和oldval的值为什么是相等的?
答:和深度无关,而是在修改(不是替换)对象或数组时,旧值将与新值相同,因为它们索引同一个对象/数组。Vue 不会保留修改之前值的副本。饿了么el-dialog,里面的内容在弹出窗口之前并没有元素,因此无法通过 ref 获得。
可以添加open事件,在open事件中,setTimeout 一段时间(可以是0)再获得元素 ref。
<el-dialog title="查看视频" size="small" v-model="dialogVisible" @open="setVideoSrc">
setVideoSrc: function () {
var _this = this
setTimeout(function() {
_this.$refs.video.src = _this.base + _this.scid + '.' + _this.and
}, 100)
}
- 饿了么el-dialog,点击关闭按钮能关闭,需要设置v-model
<el-dialog title="提示" size="tiny" v-model="dialogVisible">
- 饿了么e-table,每列的样式不同,有2种方法:
- 可以使用 template 里面加样式,css里写样式的具体内容:
<el-table-column prop="tag" label="标签" width="100">
<template scope="scope">
<div :class="scope.row.tag >= 0 ? 'bbb' : 'aaa'">{{scope.row.tag}}</div>
</template>
</el-table-column>
- el-table-column 中绑定 formatter 方法:
<el-table-column
prop="address"
label="地址"
:formatter="formatterColumn">
</el-table-column>
methods里添加方法:
formatterColumn (row, column) {
let key = column.property
let h = this.$createElement
if (parseInt(row[key]) >= 0) {
return h('div', {style: 'color:#23232b;'}, row[key])
} else {
return h('div', {style: 'color:#ff7b4d;'}, row[key])
}
},
- 饿了么e-table,列可以设置 :formatter,对列的值进行处理
<el-table-column
prop="address"
label="地址"
:formatter="formatter">
</el-table-column>
- 饿了么表单 el-form 的验证规则,可以分为简单验证和自定义校验规则。
简单验证,举例:
name: [{ type: 'string', required: true, min: 2, max: 10, message: '请输入2-10个字的有效名称', trigger: 'blur' }],
自定义校验规则,需要自己写校验函数。
- 问:elementUI中,el-select 下拉框如何实现默认选择?
答:绑定v-model。
注意: v-model="value4" 这里的 value4 要和 options 里的 value 保持一致
<el-select v-model="value4" clearable placeholder="请选择">
- 每一个 el-form-item 组件会new 一个AsyncValidator实例的 同时也会创建一个内部验证的model对象, 将其el-form-item上的prop属性设置到model对象上去。
var validator = new AsyncValidator(descriptor);
var model = {};
model[this.prop] = this.fieldValue;
比如:
<!-- 表单项,prop属性表示要进行表单验证,验证规则对应为rules的属性name -->
<el-form-item label="活动名称" prop="name">
<el-input v-model="ruleForm.name" size="large"></el-input>
</el-form-item>
ElementUI里面的一些元素设置属性要使用:v-bind:,否则会报错。
举例:el-input(v-model='form.desc' type='textarea' v-bind:rows='4' placeholder="请填写")Element获取vuex中store的值,并绑定到form,有2种方式:
1.将store的值深克隆下,与form的值进行双向绑定;
2.新增加一个state,与form的值进行双向绑定;Element先填充表单,再修改表单时:必须现在data里设置默认值,才能实现双向绑定。
data () {
return {
form: {
nick: '',
desc: '',
gender: 1,
province: '',
city: ''
}
}
}
- show-overflow-tooltip属性:当内容过长时,出现省略号,并显示 tooltip
<el-table-column prop="address" label="地址" show-overflow-tooltip>
- current-change:当表格的当前行发生变化的时候会触发该事件,如果要高亮当前行,请打开表格的 highlight-current-row 属性。
<el-table :data="tableData" highlight-current-row @current-change="handleCurrentChange">
el-table.list(:data='data' @cell-click="handleMsgToggle" ) 说明:pug语法
cell-click:当某个单元格被点击时会触发该事件,参数:row, column, cell, event
调用api,参数要对应好。$refs使用。
html定义:
<div id="app">
<el-input type="text" ref="test" placeholder="enter text"></el-input>
</div>
引用:
this.$refs.test.$el.getElementsByTagName('input')[0].focus();
- cell-click 当某个单元格被点击时会触发该事件,参数:row, column, cell, event
row-click 当某一行被点击时会触发该事件,参数:row, event, column
其中:
event.target是被点击的元素
event有个path属性,里面有所有的表格html元素,包括同一行的(使用场景:只改变同行另一个单元格的样式)。
ElementUI 知识点的更多相关文章
- Elementui实战知识点随记
1. Elementui实战知识点随记 1.1. 表单验证 对于复杂数据,类似于对象里面包含数组,每个数组又包含多个对象,表单验证我查看了网上很多资料都说Elementui不支持,实际上,经过我官网的 ...
- elementui常用知识点总结
1.淡入淡出效果: <transition name="el-fade-in-linear"> <div v-show="show" clas ...
- web开发前端面试知识点目录整理
web开发前端面试知识点目录整理 基本功考察 关于Html 1. html语义化标签的理解; 结构化的理解; 能否写出简洁的html结构; SEO优化 2. h5中新增的属性; 如自定义属性data, ...
- vue+elementUI项目,父组件向子组件传值,子组件向父组件传值,父子组件互相传值。
vue+elementUI项目,父组件向子组件传值,子组件向父组件传值,父子组件互相传值. vue 父组件与子组件相互通信 一.父组件给子组件传值 props 实现父组件向子组件传值. 1父组件里: ...
- v-if案例解析(element-ui form-item 结合 v-if 动态生成rule规则\表单元素,表单无法验证问题剖析 )
fire 读在最前面: 1.此文章衔接Vue 虚拟Dom 及 部分生命周期初探,相关整体知识点请先阅读后再继续本文阅读 问:当v-if为true时,会重新渲染相关dom节点吗? <child v ...
- 应用五:Vue之ElementUI 表格Table与分页Pagination组件化
(注:本文适用于有一定Vue基础或开发经验的读者,文章就知识点的讲解不一定全面,但却是开发过程中很实用的) 在平时的web项目开发过程中,列表分页查询展示应用的很频繁,为了便于阅读并减少代码的冗余,所 ...
- 中级前端必备知识点(2.5w+月薪)进阶 (分享知乎 : 平酱的填坑札记 关注专栏 用户:安大虎)
前端已经不再是5年前刚开始火爆时候的那种html+css+js+jquery的趋势了,现在需要你完全了解前端开发的同时,还要具备将上线.持续化.闭环.自动化.语义化.封装......等概念熟练运用到工 ...
- vue项目搭建和开发流程 vue项目配置ElementUI、jQuery和Bootstrap环境
目录 一.VUE项目的搭建 1. 环境搭建 2. 项目的创建和启动 二. 开发项目 1. 配置vue项目启动功能 2. 开发vue项目 (1)项目文件的作用 (2)vue项目开发流程 (3)vue项目 ...
- vue第十六单元(element-ui vue-lazyload 等常用插件)
第十六单元(element-ui vue-lazyload 等常用插件) #课程目标 1.掌握插件的引入方式 2.精通UI框架 3.掌握前端常见的几种效果实现 #知识点 一.elementUI的使用 ...
随机推荐
- SSH 本地端口转发
有时,绑定本地端口还不够,还必须指定数据传送的目标主机,从而形成点对点的"端口转发".为了区别后文的"远程端口转发",我们把这种情况称为"本地端口转发 ...
- PHP:第三章——PHP中控制函数的函数
<pre> <?php header("Content-Type:text/html;charset=utf-8"); /******************** ...
- POJ 2289 Jamie's Contact Groups 二分图多重匹配 难度:1
Jamie's Contact Groups Time Limit: 7000MS Memory Limit: 65536K Total Submissions: 6511 Accepted: ...
- Entity Framework之犹豫不决
记得去年初就开始关注Entity Framework,那时只是简单测试了一下,发现较之Nhibernate不太成熟.当时的EF主要表驱动方式开发,过度依赖edm文件,并且数据层耦合了模型层,让一些MV ...
- pl/sql快速输入select等语句
平时对数据库操作的时候,输入DML语句,很浪费时间,我们想要这样的效果 ,输入sf,plsql就会自动输入select * from.我们需要在plsql中进行如下设置即可: 工具(tools)--& ...
- sublime text3的快捷键
Ctrl + Shift + P 调出命令板(Command Palette) Ctrl + ` 调出控制台 Ctrl + D 选择当前光标所在的词并高亮该词所有出现的位置,再次 C ...
- 玩转X-CTR100 l STM32F4 l SD卡FatFs文件系统
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] X-CTR100控制器具有SD卡接口,本教程使用免费 ...
- git账号申请及创建基线
1.填写注册信息 https://github.com/ 进入官网 填写用户名,邮箱,密码然后点击sign up for github 2.后面不记得了,然后就可以创建项目了 3.填写项目名称及描述, ...
- kbmMW 5.06.20试用笔记
1.kbmMWConfiguration自动备份配置文件的问题还没有修正. 下面是以前写过的内容,再一次在新闻组中提出这个问题: kbmMW提供一个强大的配置信息管理对象,前期译过这个对象的介绍,在使 ...
- Ubuntu:系统启动服务
系统启动服务 针对Ubuntu 5级别服务的说明 安装sysv-rc-conf sudo apt-get install sysv-rc-conf acpi-support 高级电源管理支持 acpi ...