vue-Split实现面板分割
更新时间:2022年03月22日 17:12:02 作者:搬砖界的小菇娘
这篇文章主要为大家详细介绍了vue-Split实现面板分割,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了vue-Split实现面板分割的具体代码,供大家参考,具体内容如下

<template>
<div class="split-pane-wrapper">
<div class="pane pane-left" :style="{width:leftOffsetPercent}">
<button @click="handleClick">点击减少左侧宽度</button>
</div>
<div class="pane-trigger-con" :style="{left:triggerLeft,width:triggerWidthPx}"></div>
<div class="pane pane-right" :style="{left:leftOffsetPercent}"></div>
</div>
</template>
<script>
export default {
components: {},
data() {
return{
// 在这定义一个值。这样用户可以直接指定占比的值
// 在页面css 布局使用的值 使用计算属性拼接即可
leftOffset:0.3,
triggerWidth:8
}
},
computed:{
// 动态属性去拼接生成css 实际需要的代%形式的数据
leftOffsetPercent(){
return `${this.leftOffset * 100}%`
},
triggerWidthPx(){
return `${this.triggerWidth}px`
},
triggerLeft(){
return `calc(${this.leftOffset * 100}% - ${this.triggerWidth/2}px)`
},
},
methods: {
handleClick(){
this.leftOffset -= 0.02
}
},
}
</script>
<style lang="scss" scoped>
.split-pane-wrapper{
width: 100%;
height: 100%;
position: relative;
.pane{
position: absolute;
height: 100%;
top:0;
&-left{
/*width: 30%;*/
background: brown;
}
&-right{
right: 0;
bottom: 0;
/*left: 30%;*/
background: chartreuse;
}
&-trigger-con{
z-index: 100;
height: 100%;
background: red;
position: absolute;
top: 0;
}
}
}
</style>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
关于pinia的使用和持久化方式(pinia-plugin-persistedstate)
本文介绍了Pinia的使用方法,包括安装和配置插件pinia-plugin-persistedstate,以及在项目中创建和使用Store模块,同时,还讲解了Pinia的state、getters和actions的使用,并提供了在uniapp中使用持久化插件的总结2025-02-02
vue父组件传值子组件报错Avoid mutating a prop directly解决
这篇文章主要为大家介绍了vue父组件传值子组件报错Avoid mutating a prop directly解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-09-09


最新评论