【发布时间】:2020-09-29 17:33:17
【问题描述】:
我正在使用带有 vue 的 apexcharts。我希望迷你图占据其父级宽度的 100%。
这就是我所做的:
<div>
<apexchart
:options="chartOptions"
:series="series"
height="150"
style="width: 100%"
/>
</div>
我也尝试将宽度设置为组件的属性,但它的行为相同。
这是我的图表选项:
chartOptions: {
chart: {
type: 'area',
sparkline: {
enabled: true
}
},
dataLabels: {
enabled: false
},
stroke: {
curve: 'straight',
width: 3,
},
xaxis: {
type: 'datetime',
}
}
所以这里没什么特别的,它是从 apex 仪表板示例中复制的,我唯一添加的就是尝试将宽度设置为 100%。
它溢出它的父容器(绿色)和父容器(黄色),如下所示:
但是当我调整窗口大小(不刷新)时,它不会保留它的大小,它变得比父窗口小:
我怎样才能让它填充其父级(绿色容器)的宽度并保持这种状态(响应式)?
谢谢
【问题讨论】:
-
你在图表周围使用 CSS flex 吗?
-
在某种程度上。我正在使用 vuetify 的网格。但它比图表高 3-4 级。
-
我发现调整大小后的差距是由于系列中缺少数据以及我为 x 轴设置了 max 属性的事实。现在在调整大小后它需要 100%,但在第一次渲染时它会溢出。我发现了这个问题stackoverflow.com/questions/55326858/…,但在我的情况下,没有获取父节点失败的错误。
标签: javascript css vue.js apexcharts