方法1: npm経由でプラグインをインストールする1. npm install vue-print-nb --save をインストールします。 2. インストール後、main.jsファイルにインポートします。 import Print from 'vue-print-nb' Vue.use(Print); //登録 3. これで使えるようになりました <div id="printTest"> <p>月が山々を照らしている</p> <p>そよ風は川から吹いてくる</p> </div> <button v-print="'#printTest'">印刷</button> 4. リンク アドレス経由で印刷するには: window.location.href = airway_bill; airway_bill はリンク アドレスです。 5. コンテンツが完全に印刷されない場合は、印刷操作中に「詳細設定」をクリックし、ズームを設定します。 2番目の方法:プラグインをローカルに手動でダウンロードするプラグインアドレス:
1. srcの下に新しいフォルダplugsを作成し、ダウンロードしたprint.jsをplugsフォルダに入れて、次の操作を行います。 '@/plugs/print' から Print をインポートします Vue.use(Print) // <template> を登録する <セクションref="印刷"> コンテンツを印刷する <div class="no-print">印刷しない</div> </セクション> </テンプレート> this.$print(this.$refs.print) // 使用法 2. 注意: DOM ノードを取得するには、ref を使用する必要があります。id または class で直接取得すると、webpack のパッケージ化とデプロイ後に出力されるコンテンツは空になります。 3. 印刷しない領域を指定する 方法1. 非印刷スタイルクラスを追加する <div class="no-print">印刷しないでください</div> 方法2. カスタムクラス名 <div class="do-not-print-me-xxx">印刷しないでください</div>this.$print(this.$refs.print,{'no-print':'.do-not-print-me-xxx'}) // 使用 バッチ印刷ここでのバッチ印刷は、実際には純粋な js 記述を使用しているので、コードに直接進みましょう。 <テンプレート> <div> <ul class="print-ul"> <li v-for="(item,index) of tableData" :key="index" :id="'printDiv' + インデックス" style="page-break-after:always;"> <div> <p>{{item.date}}</p> <p>{{アイテム名}}</p> <p>{{item.province}}</p> <p>{{item.city}}</p> <p>{{item.address}}</p> <p>{{item.zip}}</p> </div> </li> </ul> <div @click="handlePrint">印刷</div> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ データ() { 戻る { テーブルデータ: [{ 日付: '2016-05-03'、 名前: 王小湖、 省: '上海'、 都市: 普陀区、 住所: '上海市普陀区金沙江路1518号'、 郵便番号: 200333 }, { 日付: '2016-05-02'、 名前: 王小湖、 省: '上海'、 都市: 普陀区、 住所: '上海市普陀区金沙江路1518号'、 郵便番号: 200333 }, { 日付: '2016-05-04'、 名前: 王小湖、 省: '上海'、 都市: 普陀区、 住所: '上海市普陀区金沙江路1518号'、 郵便番号: 200333 }, { 日付: '2016-05-01'、 名前: 王小湖、 省: '上海'、 都市: 普陀区、 住所: '上海市普陀区金沙江路1518号'、 郵便番号: 200333 }, { 日付: '2016-05-08'、 名前: 王小湖、 省: '上海'、 都市: 普陀区、 住所: '上海市普陀区金沙江路1518号'、 郵便番号: 200333 }, { 日付: '2016-05-06'、 名前: 王小湖、 省: '上海'、 都市: 普陀区、 住所: '上海市普陀区金沙江路1518号'、 郵便番号: 200333 }, { 日付: '2016-05-07'、 名前: 王小湖、 省: '上海'、 都市: 普陀区、 住所: '上海市普陀区金沙江路1518号'、 郵便番号: 200333 }] } }, メソッド: { ハンドルプリント() { var newWin = window.open(""); // 新しい空のウィンドウを開く for (var i = 0; i < this.tableData.length; i++) { var imageToPrint = document.getElementById("printDiv" + i); // 印刷するコンテンツを取得します newWin.document.write(imageToPrint.outerHTML); // 印刷するコンテンツを新しいウィンドウに追加します} const styleSheet = `<style>li{list-style:none}</style>`; newWin.document.head.innerHTML = styleSheet; //印刷コンテンツにスタイルを追加します newWin.document.close(); //IEブラウザで使用する場合はこの文を追加する必要があります newWin.focus(); //IEブラウザで使用する場合はこの文を追加する必要があります setTimeout(function() { newWin.print(); //印刷 newWin.close(); //ウィンドウを閉じる }, 100); } } } </スクリプト> <スタイル> .print-ul { 幅: 600ピクセル; リストスタイル: なし; 境界線: 1px 実線 #e8e8e8; } </スタイル> 要約するこれで、vue 印刷機能の実装に関するこの記事は終了です。より関連性の高い vue 印刷機能のコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Apache FlinkCEP でタイムアウトステータス監視を実装するための詳細な手順
>>: MySQL サービスを完全に削除する方法 (レジストリをクリーンアップする)
この記事では、ソシュールの言語哲学などの理論に基づいて、CSS の class 属性は不要であると主...
サーバーのデータベース ハード ディスク領域がいっぱいだったため、大量のデータの書き込みに失敗し、「...
最近、自宅サーバーにクラウドディスクを導入する予定なので、一連の環境構築作業を始めました。MySQL...
この記事ではMySQL 5.7.21のインストールと設定方法を記録しています。具体的な内容は以下のと...
1.Mysql接続方法MySQL 通信プロトコルを理解するには、まず MySQL サーバーへの接続に...
最近確認された5件のデータを照会するビジネスがあります。 `id`、`title` を選択 `th_...
この記事では、参考までにMySQL 5.7.17圧縮版のインストール手順を紹介します。具体的な内容は...
目次質問1. webpack webpack-cliをインストールする2. webpackのバージョ...
Fast-Linux プロジェクト アドレス: https://gitee.com/uitc/Fas...
LOFTER のコンテストで、ログイン ボックスを再設計できると言及されているのを見ました。過去 2...
序文最近、仕事で問題が発生しました。 Centos7 システムでは MySQL にリモート接続できな...
Vue 言語と要素コンポーネントを使用して、コード コンテンツの入力を必要とし、ハイライト表示が可能...
このセクションでは、HTML のリスト要素について学習します。リストは、Web サイトのデザインにお...
目次プロジェクトにmockjsをインストールするVueプロジェクトでmockjsを使用する基本的なプ...
時間フィールドは、データベースの使用時によく使用されます。よく使われるのは作成時間と更新時間です。し...