动态换肤
方案一:
- 先把默认主题文件中涉及到颜色的 CSS 值替换成关键词
- 根据用户选择的主题色生成一系列对应的颜色值
- 把关键词再换回刚刚生成的相应的颜色值
- 直接在页面上加 style 标签,把生成的样式填进去
方案二:
不同的命名空间
Table
Table 拖拽排序
这里主要是基于Sortable
import Sortable from 'sortablejs'
let el = document.querySelectorAll('.el-table__body-wrapper > table > tbody')[0]
let sortable = Sortable.create(el)
复制代码
在table mounted之后申明Sortable.create(el)
table的每行tr就可以随意拖拽了,麻烦的目前我们的排序都是基于dom的,我们的数据层list并没有随之改变。所以我们就要手动的来管理我们的列表。
this.sortable = Sortable.create(el, {
onEnd: evt => { //监听end事件 手动维护列表
const tempIndex = this.newList.splice(evt.oldIndex, 1)[0];
this.newList.splice(evt.newIndex, 0, tempIndex);
}
});
复制代码
这样我们就简单的完成了 table 拖拽排序。这里如果不是基于 dom 的排序推荐使用Vue.Draggable。完整代码