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 }
      })
    }
相关推荐
SoraLuna2 小时前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos
燃先生._.3 小时前
Day-03 Vue(生命周期、生命周期钩子八个函数、工程化开发和脚手架、组件化开发、根组件、局部注册和全局注册的步骤)
前端·javascript·vue.js
2401_857600956 小时前
SSM 与 Vue 共筑电脑测评系统:精准洞察电脑世界
前端·javascript·vue.js
2401_857600956 小时前
数字时代的医疗挂号变革:SSM+Vue 系统设计与实现之道
前端·javascript·vue.js
GDAL6 小时前
vue入门教程:组件透传 Attributes
前端·javascript·vue.js
轻口味6 小时前
Vue.js 核心概念:模板、指令、数据绑定
vue.js
2402_857583496 小时前
基于 SSM 框架的 Vue 电脑测评系统:照亮电脑品质之路
前端·javascript·vue.js
java_heartLake7 小时前
Vue3之性能优化
javascript·vue.js·性能优化
ddd君317748 小时前
组件的声明、创建、渲染
vue.js
前端没钱8 小时前
从 Vue 迈向 React:平滑过渡与关键注意点全解析
前端·vue.js·react.js