Rumah > Soal Jawab > teks badan
Saya menggunakan perpustakaan ini untuk menggantikan beberapa ruang letak dengan templat docx dan menjana berbilang dokumen. Saya menggunakan novo dan vue neutral di bahagian hadapan, dan saya telah mencipta kaedah yang menghantar fail dan data docx yang dipilih ke perpustakaan untuk diproses. Saya gunakan untuk gelung dengan cara ini
// putting all the desired data into a specific array for(let i = 0; i < this.selectedData.length; i++){ this.dataPlaceholders.push({ key1: val1, key2: val2 }) } //call the library to get documents for(let i; i < this.dataPlaceholders.length; i++){ this.docxTemplate.process(template, this.dataPlaceholders[i]) }
Data yang akan dihantar digabungkan daripada kedua-dua tatasusunan dan jika saya konsol log mereka, saya dapat melihat semua si berada di tempatnya. Seperti yang dinyatakan dalam dokumentasi, saya menggunakan kurungan segi empat sama {}
来设置占位符,并且占位符的名称与 dataPlaceholders
untuk menamakan setiap kunci dalam kelompok yang sama. Selepas ujian, saya mendapati bahawa saya dapat menjana dokumen yang berbeza, tetapi ruang letak tidak diganti dan akan ada medan kosong dalam dokumen itu.
Bagaimana saya boleh membetulkannya untuk membuat ini berfungsi dengan betul?
P粉3948122772024-03-31 00:57:29
Selepas mencuba dan membaca beberapa soalan tentang cara melaksanakan panggilan tak segerak dalam gelung, saya memilih untuk menggunakan fungsi Array.prototype.map dan ia berfungsi dengan baik. Saya telah mengubah suai kaedah vue yang memanggil perpustakaan sebagai kaedah async, tetapi saya telah menyimpan blok then
supaya saya boleh mendapatkan dokumen yang diproses selepas perpustakaan selesai memproses. p>
this.dataPlaceholders.map( async (data, i) => { let filename = data.supplier + '.docx' this.docxTemplate.process(template, data).then( (result) => { // code to download files here let a = document.createElement('a') let downloadLink = URL.createObjectURL(result) a.href = downloadLink a.download = filename a.click() }) })
Satu-satunya perkara yang perlu diselesaikan ialah cara membatalkan url blob selepas memuat turun semua fail.