vue-echarts div动态的计算高度

vue-echarts div动态的计算高度,第1张

DIV部分

<chart

  ref="taskChart"

  :theme="charts.theme"

  autoresize :options="charts.optionsu"

  @click="zydwclick"

  :style="{width:charts.width,height:charts.height}">

</chart>

<iframe width="100%" ref="mapIframe" class="rectCorner" id="zykhMapIframe" scrolling="no"

        :src="YZKH_URL" :height="ifram_height"

        frameborder="0">

</iframe>

data部分

charts:{

//div的高度

ifram_height:0,

//echarts的高度宽度

width:'100%',

height:"230px",}

//自动设置chart的高度

methods: {

RowResize() {

let me =this

  const deviceHeight = document.documentElement.clientHeight

  const chartHeight = (Number(deviceHeight) *0.82) /2//两个row

//计算echarts 的高度

  me.charts.height = chartHeight +'px'

//计算div部分的高度

  me.ifram_height = (Number(deviceHeight) *0.78) +'px'

},

在mountd里面调用

mounted() {

let me =this

me.RowResize()

//监视窗口发生变化再调用一次

window.onresize =function () {

me.RowResize()

}

获取DOM的高度宽度公式

DOM可视高度/DOM最长的高度=计算比例

计算  table高度 

<Table border

      @on-sort-change="onSortChange"

      :columns="tableA.tableColumns"

      :data="tableA.tableData"

      :height="height"

      ref="currentRowTable"

      :percent="percent"

      style="white-space: nowrapword-break: keep-all"

></Table>

data() {

return {

height:100,

//自动设置列表的高度

RowResize() {

let me =this

  const deviceHeight = document.documentElement.clientHeight

  if (me.$refs.currentRowTable) {

me.height = Number(deviceHeight) *0.65

  }

},

let me =this

me.RowResize()

//监听窗口大小变化

window.onresize =function () {

me.RowResize()

}

是不是设置过他的style.height?我遇到过这种情况。可能是你在CSS里面设置了 canvas的width和height是画布的实际宽高 canvas的style.height是他显示出来的宽和高,如果上下2个的大小不一样,会把上面的图形拉伸/缩小到下面的大校


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11317033.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存