vue3 + vite + element-plus 踩坑
1, cascader 插件如果启用了多选,要用<el-form-item></el-form-item>包裹,不然会报错
2, el-popover 通过按钮点击手动关闭
//html 主要是定义ref这个属性
<el-popover placement="bottom" :width="400" trigger="click" ref="pop">
<template #reference>
<el-button>选择标签</el-button>
</template>
<el-tree
:data="tagList"
show-checkbox
check-on-click-node
/>
<div style="text-align:right;margin-top:20px;">
<el-button size="mini" @click="closePop"
>关闭</el-button>
<el-button type="primary" size="mini"
>搜索</el-button>
</div>
</el-popover>
//点击关闭按钮的时候执行这个方法就行
//关闭popover
const closePop = () => {
console.log(pop.value);
pop.value.visibility = false
}
3,el-cascader 复选的时候,之前只能点击前面的复选框才行,要改成点击选项也可以选中,加入下面的样式就可以。
注意:不能加在scoped的style标签里,单独用一个style标签包裹或者写在全局的css那里也行
<style >
.el-checkbox{
position: absolute;
width: 100%;
}
.el-checkbox + span{
margin-left: 10px;
}
</style>
4,vue3.x 监听页面关闭和刷新
onMounted(() => { window.addEventListener('beforeunload', e => handleUnload(e)) }) onUnmounted(() => { window.removeEventListener('beforeunload', e => handleUnload(e)) }) const handleUnload= (e) => { e = e || window.event; // 兼容IE8和Firefox 4之前的版本 if (e) { e.returnValue = "您是否确认离开此页面-您输入的数据可能不会被保存"; } // Chrome, Safari, Firefox 4+, Opera 12+ , IE 9+ return "您是否确认离开此页面-您输入的数据可能不会被保存"; }
5,
我们在修改element的一些样式的时候,在加了scoped的时候会不起作用,下面是解决方案:
解决方法:起一个类名将页面包裹起来,后面加 /deep/
P.S. 在lang=scss或者其他语言时deep会报错,最好写在lang=css里
<style scoped lang="css">
.limit-page /deep/ .el-checkbox {
position: relative!important;
}</style>
参考链接:https://www.cnblogs.com/jun-qi/p/10895019.html

浙公网安备 33010602011771号