Element UI 问题记录

请求列表数据,初始页码为 2

如果一开始页码设为 1 是没有问题的。但为了达到“如果下一页没有数据,应该停留在当前页”的效果,我将初始页码设为了 0,请求时参数设为 page: this.page + 1,成功后再真正改变页码:this.page++。在将 page 变量传给 Paginiation 组件的时候,我用了 :current-page.sync=”page” 。发起请求是在 this.$nextTick 里面,这样在发起请求之前,Pagination 组件会把 page 设为 1。因为正常情况页码不可能为 0。如此就导致了我请求时页码错误。

解决方法有三个:

  1. 初始页码设为 1。
  2. 不在 nextTick 里发起初始请求。
  3. 去掉 .sync。

多个 form 表单验证相互干扰

今天碰到一个奇怪的现象,两个 element form 表单的验证相互干扰。绑定的值和 rules 我确认了好几遍,并没有重复。后来发现是 vue 的 v-if 指令导致的。v-if在两个相同组件且没有key标识唯一性的情况下,会复用已有元素而不是从头开始渲染。解决方法有两个:1. 使用 v-show。2. 添加 key。