@Goodie128

Как использовать объект VNodeRef?

Имеется массив элементов, созданный через v-for.
<p
      class="infinite-scroll__item"
      v-for="(post, index) in showedPosts"
      :key="index"
      :ref="setPostRef"
>
      {{ post.title }} || {{ post.date.toDateString() }}
</p>

Из него нужно получить массив ref
Функция и сам массив:
const postRefs = ref<VNodeRef[]>([]);
const setPostRef = (el: VNodeRef | undefined) => {
      if (el) {
        postRefs.value.push(el);
      }
};

Но в массиве хранятся объекты с типом VNodeRef, про который в доке ни слова, а использовать этот тип так же, как HTMLElement нельзя. Как пользоваться этим типом? Можно ли его как-то в HTMLElement преобразовать?
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
modelair
@modelair
unsocial
можно. if (el && el instanceof HTMLElement)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Aetae
@Aetae Куратор тега TypeScript
Тлен
Зачем ты огород то городишь?
:ref="setPostRef"
-->
ref="postRefs"

И всё, в postRefs.value у тебя массив элементов.

В твоём варианте ты прям в кишки vue лезешь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы