el-table-column+el-autocomplete

❓问题:

在table外面修改el-autocomplete的宽度有很多相关的文章,但是找了很多文章结果都没有办法在table里修改el-autocomplete宽度的,最后才知道是要修改el-table的样式

首先要先知道:popper-append-to-body默认为true。

然后因为下拉框el-popper在body里,而不在vue挂载的<div id="#app">里,所以scoped里的样式无法影响到el-autocomplete组件。那么将:popper-append-to-body修改为false,又因为是在el-table里,就会因为行内高度的不够而导致下拉框的内容被隐藏掉。

📖解决方法:

修改el-table的样式

1、给el-autocomplete添加:popper-append-to-body="false";

2、修改element-ui组件库的样式,如果无效则加上/deep/;

3、如果/deep/报错,那就改成::v-deep即可(因为在vue中,>>>是深度选择器,可以作用到子组件中的样式,而/deep/和::v-deep都是>>>的别名,在scss中不识别/deep/, 可以使用::v-deep)

⭐代码:

<template>
...
    <el-table-column>
        <template>
          <el-autocomplete
            :popper-append-to-body="false"
          ></el-autocomplete>
        </template>
    </el-table-column>
...
</template>
<style scoped>
/deep/.el-table__body-wrapper,
/deep/.el-table {
  overflow-y: visible;
}
/deep/.el-table .cell {
  box-sizing: border-box;
  overflow: visible !important;
  text-overflow: ellipsis;
  white-space: normal;
  word-break: break-all;
  line-height: 23px;
  padding-left: 10px;
  padding-right: 10px;
}
/deep/.el-popper[x-placement^='bottom'] {
  width: auto !important;
}
</style>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值