动态换肤

方案一:

  1. 先把默认主题文件中涉及到颜色的 CSS 值替换成关键词
  2. 根据用户选择的主题色生成一系列对应的颜色值
  3. 把关键词再换回刚刚生成的相应的颜色值
  4. 直接在页面上加 style 标签,把生成的样式填进去

方案二:
不同的命名空间

地址

Table

Table 拖拽排序

实战篇 - 图1

这里主要是基于Sortable

  1. import Sortable from 'sortablejs'
  2. let el = document.querySelectorAll('.el-table__body-wrapper > table > tbody')[0]
  3. let sortable = Sortable.create(el)
  4. 复制代码

在table mounted之后申明Sortable.create(el) table的每行tr就可以随意拖拽了,麻烦的目前我们的排序都是基于dom的,我们的数据层list并没有随之改变。所以我们就要手动的来管理我们的列表。

  1. this.sortable = Sortable.create(el, {
  2. onEnd: evt => { //监听end事件 手动维护列表
  3. const tempIndex = this.newList.splice(evt.oldIndex, 1)[0];
  4. this.newList.splice(evt.newIndex, 0, tempIndex);
  5. }
  6. });
  7. 复制代码

这样我们就简单的完成了 table 拖拽排序。这里如果不是基于 dom 的排序推荐使用Vue.Draggable完整代码