el-date-picker点击组件外弹框不收起
时间: 2023-11-07 16:56:46 浏览: 383
您可以通过监听组件外部的点击事件,并在点击事件中手动关闭弹框来实现 el-date-picker 点击组件外弹框收起的效果。具体实现步骤如下:
1. 在 el-date-picker 组件外部包裹一个父元素,并为该元素绑定点击事件监听器。
2. 在点击事件监听器中,判断点击的元素是否为 el-date-picker 组件的父级元素(或其他需要保持弹框显示的元素),如果不是,则手动关闭 el-date-picker 的弹框。
以下是一个示例代码:
```html
<template>
<div @click="handleClickOutside">
<el-date-picker v-model="date" type="date" placeholder="选择日期"></el-date-picker>
</div>
</template>
<script>
export default {
data() {
return {
date: ''
}
},
methods: {
handleClickOutside(event) {
// 获取 el-date-picker 组件的 DOM 元素
const datePicker = this.$refs.datePicker.$el;
// 判断点击的元素是否为 el-date-picker 的父级元素
if (!datePicker.contains(event.target)) {
// 手动关闭 el-date-picker 的弹框
this.$refs.datePicker.pickerVisible = false;
}
}
}
}
</script>
```
阅读全文