序文ダイアログ ボックスは非常に一般的なコンポーネントであり、さまざまな場所で使用されます。通常、組み込みのアラートを使用してダイアログ ボックスをポップアップできますが、設計された図の場合はどうでしょうか。そのため、ダイアログ ボックスを自分で作成する必要があります。詳細な実装プロセスを見てみましょう。 レンダリング上記のスクリーンショットでは、赤い枠線は「テキスト、アイコン、または画像」が編集可能な部分であることを示しています。 サンプルコード1. ポップアップコンポーネントquitDialog.vueコンポーネントを作成する <テンプレート> <トランジショングループ名='フェード'> <!-- ポップアップウィンドウを終了--> <div class="quit_dialog" キー= "1" @click="isQuit = false" v-if="isQuit" @touchmove.prevent> </div> <div class="quit_box" v-show="isQuit" キー="2"> <img :src="画像URL" :alt="img読み込みヒント"> <div class="quit_title">{{title}}</div> <p>{{コンテンツ}}</p> <button class="quit_btn" @click="leftClick">{{btnText}}</button> <button class="quit_close" @click="rightClick">{{rightText}}</button> </div> </トランジショングループ> </テンプレート> <スクリプト> エクスポートデフォルト{ 名前: 'ポップアップ'、 データ () { 戻る { isQuit: false、 画像URL: ''、 タイトル: ''、 コンテンツ: ''、 btnテキスト: ''、 右テキスト: '' } }, メソッド: { 左クリック(){ this.leftBtn() this.isQuit = false }, 右クリック(){ this.rightBtn() this.isQuit = false } } } </スクリプト> <style lang="scss" スコープ> // ポップアップウィンドウを終了します。フェードイン、 .フェードアウトアクティブ{ 不透明度: 0; } .フェード-エンター-アクティブ、 .フェードアウトアクティブ{ 遷移: 不透明度 0.35 秒; } // グローバルポップアップ window.quit_dialog { 背景: rgba(0,0,0,.5); 位置: 固定; 上: 0; 左: 0; 高さ: 100%; 幅: 100%; zインデックス: 10000; } .quit_box { 幅: 700ピクセル; 背景: #fff; 位置: 固定; 上位: 50%; 左: 50%; 左マージン: -350px; 上マージン: -190px; zインデックス: 10001; 境界線の半径: 10px; テキスト配置: 中央; パディング: 50px; 画像{ 幅: 80ピクセル; } .quit_title{ 色: #666; フォントサイズ: 28px; マージン: 45px 0px; } ボタン { 境界線の半径: 32px; パディング:20px 0px; フォントサイズ: 26px; 境界線の半径: 8px; 幅: 214px; } .quit_btn{ 色: #03BA82; 背景: #fff; 境界線: 1px 実線 #03BA82; 右マージン: 32px; } .quit_close { 背景: 線形グラデーション(0度, #03BA82, #01D695); ボックスの影: 0px 3px 4px 0px rgba(1, 84, 58, 0.27); 境界線: 1px 実線 #03BA82; 色: #fff; } } </スタイル> 2. grabDialog.jsを作成する 'vue' から Vue をインポートします '../components/QuitDialog/QuitDialog' から Grasp をインポートします。 const PopupBox = Vue.extend(Grasp) Grasp.install = 関数 (データ) { インスタンス = 新しい PopupBox({ データ }).$マウント() document.body.appendChild(インスタンス.$el) Vue.nextTick(() => { インスタンス.isQuit = true // isQuit はポップアップ コンポーネントの isQuit に対応し、可視性を制御するために使用されます}) } デフォルトのGraspをエクスポート 3. グローバル main.js にインポートする 'vue' から Vue をインポートします './api/quitDialog' からポップアップをインポートします。 Vue.prototype.$popup = ポップアップ.インストール 4. ページを呼び出すには、関数を呼び出すだけです メソッド: { つかみボタン(){ これを$grasp({ imgUrl: require('../../assets/home/quits.png'), // トップ画像。 imgLoadTip: '画像を読み込んでいます...', 内容: 「温かいヒント」 タイトル: 「注意: この学習タスクは完了していません。終了することを確認しますか?」 btnText: 「残酷な退場」、 rightText: 「勉強を続ける」 // 左クリックイベント leftBtn: () => { this.$store.dispatch('user/logout').then(() => { this.$signalr.LogoutPad() this.$signalr.SendMsg(2, 0, 'システムを終了') this.$router.push('/login') }) }, // 右クリックイベント rightBtn: () => {} }) } } 要約するこれで、Vue でカスタム「モーダル ポップアップ ウィンドウ」コンポーネントを実装する方法に関するこの記事は終了です。Vue でカスタム「モーダル ポップアップ ウィンドウ」コンポーネントに関する関連コンテンツの詳細については、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: <td></td> タグの境界線スタイルがブラウザに表示されない問題の解決方法
目次DockerとはクライアントサイドDocker基本的なDocker操作画像名画像をプルするその他...
Scrcpyのインストールsnap install scrcpy adbサービスのインストールsu...
<br />前の記事:Webデザインチュートリアル(6):デザインへの情熱を持ち続けまし...
目次1. 依存関係をインストールする2. vue.config.js ファイルで pwa を設定しま...
この記事では、mysql8.0.11クライアントがログインできない問題の解決策を紹介します。参考まで...
目次1. ジョブ実行のフォールトトレランス1.1 タスクフェイルオーバー戦略1.2 ジョブ再開戦略2...
最近ディープラーニングを学ぶためにUbuntu+Python 3.6バージョンを使う必要があるため、...
目次1. 変数の概要1.1 変数のメモリへの保存1.2 変数の使用1. 変数を宣言する2. 譲渡3....
1.ブラウザに次のアドレスを入力します参考: 2. 次のインターフェースに入ります。下の場所をクリッ...
この記事では、例を使用して MySQL の重複インデックスと冗長インデックスについて説明します。ご参...
:動的コンポーネントv-bind:is="component name" を使用...
コンポーネントの基本1 コンポーネントの再利用コンポーネントは再利用可能な Vue インスタンスです...
パッシブチェックパッシブ ヘルス チェックでは、NGINX と NGINX Plus はイベントの発...
例を使って、Webページのヘッダー情報の意味を理解しましょう。 <!DOCTYPE HTML ...
XQuery は、XML ドキュメントからデータを抽出するための言語です。 XQuery は、XML...