1. 功能
优化滚动条显示
2. 安装
npm install perfect-scrollbar --save
3. 使用
- 在main.js中添加
import Vue from 'vue'
import PerfectScrollbar from 'perfect-scrollbar'
import 'perfect-scrollbar/css/perfect-scrollbar.css'
const elScrollBar = (el) => {
if (el._ps_ instanceof PerfectScrollbar) {
el._ps_.update()
} else {
el._ps_ = new PerfectScrollbar(el, { suppressScrollX: true })
}
}
Vue.directive('scrollBar', {
inserted (el, binding, vnode) {
const rules = ['fixed', 'absolute', 'relative']
if (!rules.includes(window.getComputedStyle(el, null).position)) {
console.error(`perfect-scrollbar所在的容器的position属性必须是以下之一:${rules.join('、')}`)
}
elScrollBar(el)
},
componentUpdated (el, binding, vnode, oldVnode) {
try {
vnode.context.$nextTick(
() => {
elScrollBar(el)
}
)
} catch (error) {
console.error(error)
elScrollBar(el)
}
}
})
- 对于要添加优化滚动条的元素添加
v-scrollBar style="position:relative;"
<div v-scrollBar style="position:relative;">
4. 效果
image.png