当前位置: 首页 > 知识库问答 >
问题:

vue.js - vue 引入vant-tabs组件,获取tab里面元素无法遍历?

丌官盛
2023-07-26
  <div class="tab">    <van-tabs v-model:active="tabActiveNumber" class="tabArray" animated background="#181818"    color="liner-gradient(to right,#FF413F,#ED0022)" title-active-color="#E2E3E5"    line-width="0.4rem" line-height="0.06rem" title-inactive-color="#8C8C8C">      <van-tab v-for="(tab,index) in tabArray" :title="tab">          <div class="rankingListBox content-box mescroll-touch">              <div class="ranking-list-box" v-if="tabActiveNumber == 0"></div>          </div>      </van-tab>    </van-tabs></div>

mounted中打印

 const rankingListEl = document.getElementsByClassName("rankingListBox"); console.log("-------------", rankingListEl, Array.from(rankingListEl));

image.png

如图所示,无法遍历,也无法转换成数组?应该怎么修改呢?

共有1个答案

伊铭
2023-07-26

遇事不决,就加个 nextTick


原理的话 tabArray 大概率是个异步数据

getElementsByClassName 是个可变数组,你可以 rankingListEl.length 看一下,应该是 0

因为 getElementsByClassName 获取的是可变的,加上 console 打印的快照,所以看上去 rankingListEl 是有值。而 Array.from 可以理解为浅拷贝,所以显示的是空

 类似资料:
  • 本文向大家介绍AngularJS遍历获取数组元素的方法示例,包括了AngularJS遍历获取数组元素的方法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了AngularJS遍历获取数组元素的方法。分享给大家供大家参考,具体如下: 运行结果: 更多关于AngularJS相关内容感兴趣的读者可查看本站专题:《AngularJS指令操作技巧总结》、《AngularJS入门与进阶教程》及《An

  • 在网页中显示标签。标签页内元素较多时不建议使用,会影响页面性能。 标题 内容 类型 通用 支持布局 responsive, fixed-height, fill, container, fixed 所需脚本 https://c.mipcdn.com/static/v2/mip-vd-tabs/mip-vd-tabs.js 示例 一共支持5种样式 等分固定标签页 <mip-vd-tabs> <s

  • 问题内容: 我使用一个带有两个自定义元素(v1)的Web组件制作了一个简单示例,其中一个嵌套在另一个中。index.html: app-container.html: 工具栏.html: 但是在toolbar.html 中与在app- container.html中相同,因此无法找到ID为的模板。如何解决这个问题呢? 示例已在Chrome 55上测试(不使用polyfill)。 问题答案: 包含对

  • 我希望能够获取<template #loadMore>中 id为"is_load"的div元素 但是ref无法引用到 ,在onMounted函数中使用nextTick回调打印处理这个dom也是空的,等待渲染后也不行 有什么方法可以操作到dom vue 无法获取到template中的dom元素?

  • 在view/HomeView.vue使用自定义组件时一直找不到,只能在App.vue里能找到, 报错:No loader is configured for ".vue" files: packages/components/card/Card.vue

  • 这是html中引入了Component main.js 中App.component注册了组件 mian.js 和 test.vue在同级目录下,现在页面没有报错也没有显示出 test.vue组件对应dom及内容,问题出在哪里了呢? test.vue 内容