87,991
社区成员




<script>
.el-popper{
margin-left: -30px;
}
</script>
它的弹出框样式可以使用el-popper来使用,但是不可以在<script scoped></script>中定义,如果定义的话就会无效
.el_margin_left{
margin-left: -30px;
}
再在<el-date-picker popper-class="gl-popper"></el-date-picker>
就可以实现了
<el-date-picker
v-model="value1"
type="date"
@blur="activeDatePicker=null"
@focus="setPoperOffset"
placeholder = "选择日期" >
</el-date-picker>
@blur="activeDatePicker=null"中的activeDatePicker是在setPoperOffset中定义的,是为了处理两个日期组件先后获取焦点时setPoperOffset定位当前组件弹框错误的,所以在blur事件中清除之前保留的activeDatePicker。如果你的应用场景中不存在2个日期组件,你可以去除,并把setPoperOffset中与其相关的去除
methods中定义setPoperOffset方法
setPoperOffset(){
const poperSelector = '.el-date-picker[x-placement]';
if(document.querySelectorAll(poperSelector).length === 1 && this.activeDatePicker != document.querySelector(poperSelector)) {
this.activeDatePicker = document.querySelector(poperSelector);
this.activeDatePicker.style.left = (parseInt(this.activeDatePicker.style.left) - 30) + 'px';
} else {
setTimeout(this.setPoperOffset, 10)
}
}