vue+element-ui+js頁面列印(列印elementui的table)
前端呼叫瀏覽器列印功能,實現純前端vue+element-ui+js列印頁面功能
1.效果展示
開啟新頁面,列印表格,可以自動分頁
2.封裝成公共函式
可以根據自己的需要,選擇是否封裝成公共函式。
我是放在utils下的config.js檔案裡面。
//id 是你要列印的某個dom元素的id名
export function printExcel(id) {
// 空頁面
let printStr = "<html><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'></head>";
// 定義element-ui table元件的樣式
const tabStyle = `<style>
table{width:100%;display:table-cell!important;box-sizing:border-box;}
.el-table__header,.el-table__body,.el-table__footer{width:100%!important;border-collapse: collapse;text-align:center;}
table,table tr th, table tr td { border:1px solid #ddd;color:#606266;word-wrap:break-word}
table tr th,table tr td{padding:4mm 0mm;word-wrap:break-word }
.el-table__body, tr td .cell{width:100%!important}
.el-table th.gutter{display: none;}
.el-table colgroup.gutter{display: none;}
</style><body>`;
let content = "";
// 獲取名為傳入id的 dom元素內的內容
let str = document.getElementById(id).innerHTML;
// 拼接空頁面+style樣式+dom內容
content = content + str;
printStr = printStr + tabStyle + content + "</body></html>";
// 開啟新頁面
let pwin = window.open("_blank");
// 將內容賦值到新頁面
pwin.document.write(printStr);
pwin.document.close();
// 聚焦-不加focuse,在某些情況下,列印頁面會有問題。
pwin.focus();
// 使用setTimeout,等頁面dom元素渲染完成後再列印。
setTimeout(() => {
pwin.print(); // 列印功能。 例如 window.print() 直接列印當前整個頁面。
pwin.close(); // 關閉 列印建立的當前頁面
}, 500);
}
3.在.vue檔案中引入並使用"printExcel"函式
在需要列印的dom元素外面包了一個div,id叫“export”
// 使用-點選事件觸發"printExcel ",傳入引數為 id
// 引入函式
import { printExcel } from "@/utils/config";
printExcel() {
printExcel("export");
},
相關文章
- 用CSS建立列印頁面CSS
- jquery列印頁面(jquery.jqprint)jQuery
- 巧妙使用CSS建立可以列印的頁面CSS
- macOS 蘋果電腦雙面列印單面列印PDF設定Mac蘋果
- 利用css設定列印頁面簡單介紹CSS
- 分享js列印 網頁JS網頁
- 手動雙面列印怎麼設定 手動雙面列印設定的方法
- HTML API + CSS 控制頁面列印內容和樣式HTMLAPICSS
- 分享 vxe-table 實現列印出貨單、自定義列印單據
- Lua 列印table 實現型別python的repr用於table型別Python
- 關於在頁面中解決列印的幾個問題 (轉)
- JavaScript 列印網頁指定的區域JavaScript網頁
- JS 網頁列印 頁邊距 頁首頁尾JS網頁
- web 實現分頁列印功能Web
- jQuery列印網頁指定區域jQuery網頁
- JS 網頁列印解決方案JS網頁
- Excel2013列印時怎麼讓每頁都列印標題?Excel
- 印萌自助列印系統,如何提升傳統列印店的列印效率?
- asp.net 簡單分頁列印ASP.NET
- Domino中通用的檢視列印(利用Excel列印)Excel
- 在網頁中新增點選列印功能網頁
- 實現類似IE的列印網頁功能 (轉)網頁
- Web 列印Web
- Java列印Java
- 列印流
- SAP印表機原理、列印配置及列印操作
- 雲列印比線下列印店便宜嗎?
- ElementUI Table 列不齊UI
- Word中輕鬆實現逆頁序列印
- 有急救嗎?“java圖形介面分頁列印”Java
- Word 列印技巧大全,列印知識全在這。
- Java的圖形列印Java
- Mybatis 列印完整的SQLMyBatisSQL
- JSON列印JSON
- iOS字型列印iOS
- 關於列印
- 日誌列印
- [js]使用瀏覽器列印事件window.print()設定橫向;列印時新增分頁標記JS瀏覽器事件