微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Dom to Image 插件没有捕获正确的下拉值

如何解决Dom to Image 插件没有捕获正确的下拉值

我在我的 angular 应用程序中使用 dom-to-image 插件来捕获 div 的图片。我可以在任何地方捕获 div,除非 div 中有下拉列表。捕获图像时,我没有得到所选的下拉值。我有一个包含几个选项的下拉列表。每当我拍照时,第一个选项都会被捕获在图片中。

html 代码

 <div class="row" *ngIf="showStatusViolations">
<div class="col-lg-12 mt-3 mb-3 download-wrap position-relative">
  <app-download [chart_name]="'trend on status violations'">
  </app-download>
  <div class="chart-div graph-div open-violations code-vio cc-area-chart" style="height: 430px">
    <div class="row">
      <div class="col-md-12">
        <h5 class="text-center graph-heading mb-0 pb-0 pt-3">Trend on status of (High/Medium) Violations</h5>

      </div>
    </div>
    <div class="row">
      <div class="col-md-3 ml-auto">
        <div class="form-group mt-1 mr-2">
          <select class="form-control" id="sel2" [(ngModel)]="selectedStatus" (change)="selectedStatusTrendViolation($event.target.value)">
            <option value="daily">Daily</option>
            <option value="weekly">Weekly</option>
            <option value="monthly">Monthly</option>
            <option value="quarterly">Quarterly</option>
          </select>
        </div>
      </div>
    </div>
    <div class="row">
      <div class="multi-line-chart-width" style="width: 95%; margin: 0 auto">
        <div class="legend text-center d-flex justify-content-center mb-2" style="width: 
          100%" *ngIf="statusViolations !== null && statusViolations.length !== 0">
          <div class="legend-value">
            <div class="violet mr-1"></div>
            <span>New</span>
          </div>
          <div class="legend-value">
            <div class="blue mr-1"></div>
            <span> Triaged</span>
          </div>
          <div class="legend-value">
            <div class="green mr-1"></div>
            <span> Closed</span>
          </div>
        </div>

        <div style="width: 90%; margin: 0 auto" *ngIf="showOpen">
          <app-ngx-line-resp *ngIf="statusViolations" 
          [chartWidth]="opnViolationGraphDimension" [data]="statusViolations"></app-ngx- 
        line-resp>

        </div>
        <div class="no_datas" *ngIf="statusViolations.length === 0">
          <h5> No Data Available</h5>
        </div>
      </div>
    </div>

  </div>
</div>

app-download.ts

import { Component,OnInit,Input } from '@angular/core';
import { Utils } from 'src/app/common/pipes/utility';

@Component({
selector: 'app-download',templateUrl: './download.component.html',styleUrls: ['./download.component.css']
})

export class DownloadComponent implements OnInit {
@input() chart_name: any
@input() data:any
temp_arr:any =[]

constructor(private papa: Papa) {
 }

ngOnInit() {}

dom_to_img(event,chart_name) {
Utils.dom_to_img(event.target,chart_name);
}

}

utility.ts

public static dom_to_img(elm,file_name) {
let chart: any = elm.closest(".download-wrap").querySelector('.graph- 
 div');
domtoimage.toPng(chart,{ quality: 1,bgcolor: "#fff" })
  .then(function (dataUrl) {
    var link = document.createElement('a');
    link.download = file_name + ".png";
    link.href = dataUrl;
    link.click();
  });
}

我附上了两张图片。第一个显示了 div 是如何的。它有每月的下拉菜单。 第二张图显示了使用插件捕获的图像。它每天显示在下拉列表中,实际上是下拉列表中的第一个选项。

this is the div which shows monthly in the dropdown

the captured image shows daily which is the first option in the dropdown

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。