javascript - elementul HTMLAnchor download nu funcționează în Typescript


Nu pot face ca proprietatea download a elementului HTMLAnchor să funcționeze în TypeScript. Folosesc următorul cod:

var element = document.createElement('a');
    element.href = 'data:attachment/csv,' + encodeURIComponent(csvContent);
    element.target = '_blank';
    element.mimeType = "attachment/csv";
    element.download = 'Report.csv';  /* #debug 030314  this line fails */
    document.body.appendChild(element);
    element.click();

Se pare că proprietatea download nu este suportată în TypeScript. Există o soluție alternativă care să adauge sufixul .csv fișierului? - Este posibil să ocolim TypeScript și să apelăm codul Javascript direct?

Răspuns #1

Îl poți adăuga cu ușurință singur:

// Tell TypeScript about it
interface HTMLAnchorElement{
    download:string;    
}


var element = document.createElement('a');
    element.href = 'data:attachment/csv,' + encodeURIComponent(csvContent);
    element.target = '_blank';
    element.mimeType = "attachment/csv";
    element.download = 'Report.csv';  /* No error on this line anymore */
    document.body.appendChild(element);
    element.click();

Răspunsul #2

Atributul download nu a fost încă acceptat pe scară largă, așa că nu l-au implementat.

Poți întotdeauna să te întorci la setAttribute complet suportat:

element.setAttribute("download", "Report.csv");