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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

最新评论