Я пытаюсь создать плагин Perfect Scrollbar для Vue3, но у меня возникла ошибка когда я инициализирую объект:
Ошибка: не указан элемент для инициализации PerfectScrollbar
Компонент полосы прокрутки:
import PerfectScrollbar from 'perfect-scrollbar'
import { isEmpty } from 'lodash'
import {
onMounted,
reactive,
ref,
h
} from 'vue'
export default {
name: 'VuePerfectScrollbar',
props: {
options: {
type: Object,
required: false,
default: () => {
}
},
tag: {
type: String,
required: false,
default: 'div'
}
},
setup(props, {emit, slots}) {
const el = ref(null)
let ps = reactive({})
onMounted(() => {
if (isEmpty(ps)) {
ps = new PerfectScrollbar(el, props.options)
}
})
return () => h(
props.tag,
{
class: 'ps',
ref: el
},
slots.default && slots.default()
)
}
}
Я сделал console.log прямо перед инициализацией, и там есть ссылка на элемент, поэтому я не уверен, почему появляется ошибка. Согласно this This error simply means that you are calling PerfectScrollbar on something that doesn't exist!
, возможно, DOM не был обновлен в данный момент ? Я тоже пробовал с nextTick, но это не сработало.
if (isEmpty(ps)) {
? - person Boussadjra Brahim   schedule 10.01.2021