添加popper-append-to-body下拉选中之后 再打开 还是会有高亮
时间: 2023-08-07 11:03:42 浏览: 188
如果你设置了 `popper-append-to-body` 属性后,下拉框选中后仍然会有高亮,那么你可以通过添加自定义的 CSS 样式来解决这个问题。
首先,你需要给 `el-select` 组件添加一个自定义的 class 名称,比如 `custom-select`:
```html
<el-select popper-append-to-body class="custom-select">
<el-option label="选项1" value="1"></el-option>
<el-option label="选项2" value="2"></el-option>
<el-option label="选项3" value="3"></el-option>
</el-select>
```
然后,在你的 CSS 文件中添加如下样式:
```css
.el-select__popper.is-popper-append-to-body .el-select-dropdown__item.selected {
background-color: transparent !important;
}
```
这个样式会将 `popper-append-to-body` 属性设置为 true 的 `el-select` 组件中选中的选项背景色设置为透明,从而达到去除高亮的效果。
注意,这里使用了 `!important` 来覆盖原有的样式,如果你的样式优先级足够高,可以省略 `!important`。
相关问题
vue全局添加popper-append-to-body属性
可以通过在 main.js 中添加以下代码实现:
```
import Vue from 'vue'
import vPopper from 'vue-popperjs'
Vue.directive('popper', {
inserted (el, binding, vnode) {
vnode.context[binding.expression] = binding.value || {}
el.setAttribute('popper', '')
el.dataset.popper = ''
el.classList.add('popper')
}
})
Vue.use(vPopper)
```
然后,在需要使用 popper 的地方,添加 v-popper 指令即可,例如:
```
<div v-popper="{ placement: 'bottom-end', modifiers: { preventOverflow: { boundariesElement: 'viewport' } } }">
// content here
</div>
```
参考链接:https://github.com/RobinCK/vue-popper/blob/master/README-zh_CN.md
vue element-ui 全局添加popper-append-to-body属性
回答:您可以使用Vue.mixin方法全局添加popper-append-to-body属性,具体方法如下:
1. 在项目中新建一个mixin.js文件
2. 在mixin.js文件中编写如下代码:
import Vue from 'vue';
import ElementUI from 'element-ui';
Vue.mixin({
mounted() {
ElementUI.LoadingBar.config({
color: '#5cb85c',
failedColor: '#f0ad4e',
});
}
});
3. 在main.js文件中引入mixin.js文件:
import './mixin.js';
4. 然后在你的popper组件上加上popper-append-to-body属性即可,如下所示:
<el-popover trigger="click" popper-append-to-body>A popover</el-popover>
阅读全文