【项目经验】elementui抽屉(从下到上方向)实现向上拉伸
在Element UI中,使用<el-drawer>
组件时,若要实现从下到上方向的抽屉,并且在打开时向上拉伸的效果,可以通过设置<el-drawer>
的direction
属性为ttb
(从上到下),然后通过CSS来实现从下到上的视觉效果,并且在打开时通过CSS动画来实现向上拉伸的效果。
以下是实现这种效果的示例代码:
<template>
<div>
<el-button @click="drawer = true">打开抽屉</el-button>
<el-drawer
:visible.sync="drawer"
:direction="direction"
:with-header="false"
size="100%"
>
<div class="drawer-content">
<!-- 抽屉内容 -->
</div>
</el-drawer>
</div>
</template>
<script>
export default {
data() {
return {
drawer: false,
direction: 'ttb' // 从上到下方向
};
}
};
</script>
<style>
/* 使用CSS实现从下到上的视觉效果 */
.el-drawer__container.ttb {
display: flex;
flex-direction: column-reverse;
}
.el-drawer__wrapper.ttb {
height: 100%;
overflow: hidden;
}
.el-drawer__body.ttb {
display: flex;
flex-direction: column-reverse;
}
/* 抽屉打开时的动画效果 */
.el-drawer__container.ttb .el-drawer {
transition: transform 0.3s;
}
.el-drawer__container.ttb .el-drawer.open {
transform: translateY(100%) translateZ(0);
}
.el-drawer__container.ttb .el-drawer.open .el-drawer__body {
flex-direction: column;
}
.el-drawer__container.ttb .el-drawer.draft {
transform: translateY(0) translateZ(0);
}
</style>
在这个示例中,我们设置了direction
属性为ttb
,这样抽屉就会从底部向上打开。然后通过CSS样式,我们将抽屉内容的布局反转,并为打开和关闭状态添加了动画效果。这样就实现了从下到上方向,并且在打开时向上拉伸的抽屉效果。
评论已关闭