Avue框架中avue-ueditor富文本编辑器连续使用下拉框被覆盖问题解决记录

#问题描述#

在连续使用avue-ueditor富文本的时候发生了层级覆盖问题

如图:

其本质原因是菜单栏层级太高导致,简单粗暴的方法就是直接一个一个去修改z-index的层级,但是这边我的项目需要动态减少编辑器(有最大值),所以可以直接用sass的函数解决这个问题:

<div v-for="(item,i) in danxuanData.radiooptions" :key="i" class="xuanxiang">
  <el-radio v-model="danxuanData.answer" :label="label(i)"></el-radio>
  <avue-ueditor :class="'xuanxiang'+i">
  </avue-ueditor>
</div>

这边给每个avue-ueditor加上动态类名

css部分:

<style lang='scss' scoped>
// 定义一个变量
$grid-prefix: xuanxiang !default;

// 用sass的for循环修改w-e-toolbar的z-index层级
  @for $i from 0 to 7 {
    .#{$grid-prefix}#{$i} {
      /deep/.w-e-toolbar {
        z-index: (9-$i) * 100 !important;
        .w-e-droplist {
          height: 200px;
          overflow: scroll;
        }
      }
    }
  }
<style>

完美解决:

方法二:

更加简单粗暴

methods: {
//调整富文本编辑框层级
    getEditorHeight() {
      let aaa = document.getElementsByClassName('w-e-toolbar');
      let num = 10000;
      for (let i = 0; i < aaa.length; i++) {
        if (i == 0) {
          aaa[i].style.zIndex = String(num);
        } else {
          aaa[i].style.zIndex = String(num - i * 10);
        }
      }
    },
}

麻烦的是在每次富文本框增加或者减少的时候都需要$nextTick调这个方法

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值