vue+Element-ui中的一些小经验总结

vue+Element-ui中的一些小经验总结

  • vue数据触发更新机制
  • el-input添加键盘事件不生效
  • 强制对象更新的两种方法
  • 为什么在mounted()获取不到data中的数据
  • el-table使用v-if后的表头乱序问题

vue数据触发更新机制

Vue 是通过渲染来触发数据的依赖收集的,也就是说,假如 Data 中有某些数据并没有在模版中使用的话,更新这些数据的时候,是不会触发更新的。

el-input添加键盘事件不生效

element-ui 中的el-input 按照vue官方API添加键盘事件不生效,这是因为在el-input 的input外边封装了一层div。只要在事件后边加上.native()就可以了

<el-input placeholder="请输入内容" @keyup.enter.native="on_filter"></el-input>

强制对象更新的两种方法

let params = {
     ...}
// 方法一:this.$set()
this.params = params
this.$set(this.params, 'remark', this.dataList.input)
//  方法二:Object.assign()
this.params = Object.assign({
     }, params)

为什么在mounted()获取不到data中的数据

这是因为在mounted()钩子函数中,this 指向的是window作用域,所以会出现获取到的data中的数据出现没有定义的情况。

解决办法:需要解决 this 的指向问题,便可以重新获取到data中的数据,如将 this 指定另一个变量,这样在mounted() 钩子函数的子函数中,便可以重新获取到data中的数据。

mounted () {
     
    let that = this
    ......
  }

el-table使用v-if后的表头乱序问题

在使用el-table使用v-if控制表格列的显示和隐藏时,莫名其妙出现表头顺序混乱问题,解决方案如下:
给每一行增加一个key属性:
在这里插入图片描述

你可能感兴趣的:(vue.js)