autoHeight.vue 高度自适应
Posted pengchenggang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>
以上是关于autoHeight.vue 高度自适应的主要内容,如果未能解决你的问题,请参考以下文章