Vue iview-ui 被tooltip包裹的标题,点击跳转后,提示框不消失

tooltip包裹的标题,点击跳转后,提示框不消失

就会有这种显示问题

下面这种错误方法不可行,解决办法往下翻

css写得没错,问题出在Javascript当中的 getElementsByClassName("xxabc"),

这个方法得到的是一个由class="xxx"的所有元素组成的集合,而不是单个元素;
集合是没有display属性的,集合中的元素才有display属性。当你试图做 集合.style.display的时候,自然会报错。

所以你这个问题的解决方案应该是:遍历集合中所有的元素,然后给每个元素都加上display="none"的属性


解决方法如下

html 复制代码
<p v-for="(value, key) in item.data" :key="key" class="itemTxt" @click="toClaimReceiptList(key)">
   <template v-if="key=='头程待合单数'">
     <Tooltip placement="right" transfer-class-name="xxabc">
       <span style="color: blueviolet;cursor: pointer;">
         *{{ key }}
       </span>
       <span class="itemNum">({{ value }})</span>
       <div slot="content">
         <div class="Errata">
           <p v-for="(item1, idx1) in platformCountObj" :key="idx1 + '_1'">
             {{ item1.platform }}:{{ item1.count }}
           </p>
         </div>
       </div>
     </Tooltip>
   </template>
   <template v-else>
     <span>{{ key }}</span>
     <span class="itemNum">({{ value }})</span>
   </template>
 </p>

js

js 复制代码
var divset = document.getElementsByClassName('xxabc')
 for (var i = 0; i < divset.length; i++) {
   divset[i].style.display = 'none'
 };

全部代码

js 复制代码
toClaimReceiptList(key) { // 跳转
      var status = -1
      var name = ''
      switch (key) {
        case '头程待确认数':
          name = 'doc-management'
          status = '4'
          break
        case '头程待合单数':
          name = 'doc-management'
          status = '3'
          break
      }
      if (name == 'doc-management') {
        console.log('头程待合单数', name, document.getElementsByClassName('xxabc'))
        var divset = document.getElementsByClassName('xxabc')
        for (var i = 0; i < divset.length; i++) {
          divset[i].style.display = 'none'
        };
      }
      this.$router.push({
        name: name,
        params: { status: status }
      })
    }
相关推荐
清风ai明月7 小时前
vue模板语法中使用冒号: 什么时候使用,什么时候不使用呢?
前端·javascript·vue.js
少卿7 小时前
uniapp run使用指南 - VSCode 开发 Uni-app 项目
前端·vue.js
剑亦未配妥7 小时前
Vue2函数式组件实战:手写可调用的动态组件,适用于toast轻提示、tip提示、dialog弹窗等
前端·vue.js·vue
zoahxmy09298 小时前
Vue3 视频播放与截图功能实现
javascript·vue.js
waylon111138 小时前
【HOC】高阶组件在Vue老项目中的实战应用 - 模块任意排序
前端·vue.js·面试
DJA_CR8 小时前
解决在 TSX 中使用 `RouterView` + `KeepAlive` 不生效问题
前端·vue.js
小旋风012348 小时前
封装可拖动弹窗(vue jquery引入到html的版本)
vue.js·html·jquery
gongzemin8 小时前
React 和 Vue3 在事件传递的区别
前端·vue.js·react.js
Alger_Hamlet9 小时前
Photoshop 2025 Mac中文 Ps图像编辑软件
macos·ui·photoshop
麦麦大数据9 小时前
neo4j+django+deepseek知识图谱学习系统对接前后端分离前端vue
vue.js·django·知识图谱·neo4j·deepseek·在线学习系统