javascript - ionic 3 angular chartjs Canvas 在显示隐藏时消失

标签 javascript angular ionic-framework charts ionic3

我有一个 ionic 3 angular 应用程序并使用 chart.js 来显示圆环图。没有任何进展只是一个带有基本数据的简单圆环图。图表使用 Canvas 以标准方式呈现,如下所示:

<canvas #doughnutCanvas></canvas>

一切顺利。现在,当我添加 ion-card-content 的显示隐藏以翻转 View 时,问题就开始了。实现如下所示:

  <ion-card-content  *ngIf="expanded == false" style="padding-bottom:0">
      <ion-row no-padding>
          <ion-col col-auto no-padding>
              <canvas #doughnutCanvas></canvas>
          </ion-col>
      </ion-row>
  </ion-card-content>
  <ion-card-content  *ngIf="expanded == true" style="padding-bottom:0">
      <ion-list>
          ....
      </ion-list>
  </ion-card-content>

显示,当我点击一个按钮时,我将展开的内容从 false 更改为 true,结果 View 发生变化并显示一个列表。但是,当我再次按下按钮将值从 true 切换为 false 时,图表不会呈现。只是一个空白的 ionic 卡内容。由于图表页面上的其他内容很好,所以这仅与 chartjs 有关。请指教

最佳答案

问题是图表在创建 Canvas 时不会重新呈现 ngIf完全删除/添加 dom。

要么改变你的ngIf[hidden] 设置 chart.js 在 expanded 时重新呈现图表从 false 变为 true。

  <ion-card-content  [hidden]="expanded == false" style="padding-bottom:0">
                    <ion-row no-padding>
                      <ion-col col-auto no-padding>
                        <canvas #doughnutCanvas></canvas>
                     </ion-col>
                     </ion-row>
   </ion-card-content>

关于javascript - ionic 3 angular chartjs Canvas 在显示隐藏时消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46393311/

相关文章:

Angular 2 - 如何将响应式(Reactive)表单元素动态绑定(bind)到事件?

ios - Ionic & ios 如何制作固定的顶部栏按钮和可滚动列表

angularjs - ngCordova 谷歌分析 ($cordovaGoogleAnalytics)

javascript - JqCloud(具有自定义/给定颜色的单词)

javascript - ES6 解构日期

javascript - 从另一台计算机访问 Chrome 扩展程序

forms - 是什么导致 "control.registerOnChange is not a function"错误

javascript - 请求 api.upcitemdb.com 端点时出现 CORS 错误

html - 使用 After 选择器时问题居中箭头

javascript - 用户名和密码的 Ionic 弹出模板