zoukankan      html  css  js  c++  java
  • autoHeight.vue 高度自适应

    autoHeight.vue 高度自适应

    <!--
    * @description 自适应高度
    * @fileName autoHeight.vue
    * @author 彭成刚
    * @date 2019/03/11 09:45:38
    * @version V1.0.0
    <autoHeight v-model="s1Height"
                      :allHeight='0'
                      :precent='20'
                      :diffHeight='0'>
      <table-s1 :height="s1Height"></table-s1>
    </autoHeight>
    !-->
    <template>
      <div :style='styleHeight'>
        <slot></slot>
      </div>
    </template>
    
    <script>
    export default {
      data () {
        return {
          allHeightData: 0,
          styleHeight: ''
        }
      },
      props: {
        value: {
          type: Number,
          default: 0
        },
        noStyle: {
          type: Boolean,
          default: false
        },
        allHeight: {
          type: Number,
          default: 0
        },
        precent: {
          type: Number,
          default: 100
        },
        diffHeight: {
          type: Number,
          default: 0
        }
      },
    
      components: {},
    
      computed: {},
    
      mounted () {
        this.calcHeight()
        window.addEventListener('resize', () => {
          this.calcHeight()
        })
        // window.innerHeight
      },
      watch: {
        'allHeight' (to, from) {
          this.calcHeight()
        },
        '$route' (to, from) {
          this.calcHeight()
        }
      },
      methods: {
        calcHeight () {
          let retHeight
          if (this.allHeight === 0) {
            this.allHeightData = window.innerHeight
          } else {
            this.allHeightData = this.allHeight
          }
    
          retHeight = (this.allHeightData * this.precent / 100) - this.diffHeight
          this.$emit('input', retHeight)
    
          if (!this.noStyle) {
            this.styleHeight = 'height: ' + retHeight + 'px; overflow-y:auto;'
          }
        }
    
      }
    }
    
    </script>
    <style lang='less' scoped>
    </style>
    

      

  • 相关阅读:
    [BZOJ 1833] 数字计数
    [Codeforces 23E] Tree
    [Codeforces 23D] Tetragon
    前端基础之CSS
    前端基础之HTML
    youku项目总结(粗略总结)
    MySQL视图、触发器、事务、存储过程、内置函数、流程控制、索引
    MySQL多表查询,Navicat使用,pymysql模块,sql注入问题
    MySQL单表查询
    MySQL表关系--外键
  • 原文地址:https://www.cnblogs.com/pengchenggang/p/10510457.html
Copyright © 2011-2022 走看看