vue+iview tabs context-menu 弹出框怎么修改样式

今天遇到一个需求说页面顶部的菜单右键弹出框离得有点远

代码是这样

javascript 复制代码
<Tabs type="card" closable class="main-tags-col-tabs" 
      v-model="activeTab" @on-click="handleClickTag" 
:before-remove="handleBeforeRemove" 
capture-focus @on-contextmenu="contextmenu">
        <TabPane
          v-for="(item, index) in tagList"
          :key="index"
          :name="item.name"
          :label="item.label"
          icon="custom iconfont icon-dot-circle"
          :closable="index != 0"
          :context-menu="index == 0 ? false : true"
        ></TabPane>
        <template slot="contextMenu">
          <DropdownItem @click.native="handleCloseTag('closeOther')">
            <Icon type="md-close"></Icon>
            <span class="dropdown-icon-space">关闭其他</span>
          </DropdownItem>
          <DropdownItem @click.native="handleCloseTag('closeAll')">
            <Icon type="ios-close-circle-outline"></Icon>
            <span class="dropdown-icon-space">关闭所有</span>
          </DropdownItem>
        </template>
      </Tabs>

表现出来是这样

首先打开控制台,找到这个样式是 ivu-dropdown-transfer

发现这个样式是自带了transfer

那么在style里面写scoped 就不会生效,不写的话是全局了又会影响其他地方下拉框

然后去官网找 transfer-class-name 发现tabs没有这个选项

那只能在右键时候动态往里添加了

@on-contextmenu="contextmenu"

javascript 复制代码
contextmenu(item) {
      this.$nextTick(() => {
        const dropdownMenu = document.querySelector('.ivu-dropdown-transfer')
        console.log(dropdownMenu)
        if (dropdownMenu) {
          dropdownMenu.classList.add('fixed-context-menu')
        }
      })
      this.contextMenuActiveName = item.name
    },

ivu-dropdown-transfer 这里注意ivu-select-dropdown找不到的好像和下拉框的样式有冲突

然后全局写一个样式

javascript 复制代码
<style>

.fixed-context-menu {

  top: 97px !important;

}

</style>
相关推荐
程序员小李白9 分钟前
js数据类型详细解析
前端·javascript·vue.js
weixin_4624462314 分钟前
Python用Flask后端解析Excel图表,Vue3+ECharts前端动态还原(附全套代码)
前端·python·flask·echats
满栀58519 分钟前
jQuery 递归渲染多级树形菜单
前端·javascript·jquery
闲蛋小超人笑嘻嘻21 分钟前
Flexbox 属性总结
前端·css
TOPGUS24 分钟前
谷歌将移除部分搜索功能:面对AI时代的一次功能精简策略
前端·人工智能·搜索引擎·aigc·seo·数字营销
运筹vivo@33 分钟前
攻防世界: ics-05
前端·web安全·php
qq_3380329235 分钟前
Vue/JS项目的package.json文件 和java项目里面的pom文件
java·javascript·vue.js·json
不思念一个荒废的名字37 分钟前
【黑马JavaWeb+AI知识梳理】Web前端开发 - Vue3 / ElementPlus
前端
月明长歌39 分钟前
Selenium中隐式等待(Implicit Wait)和显式等待(Explicit Wait)的区别
前端·javascript·selenium