出典: http://www.ruoyi.vip/ 'vue' から Vue をインポートします import SvgIcon from '@/components/SvgIcon' // svg コンポーネント // グローバルに登録する Vue.component('svg-icon', SvgIcon) const req = require.context('./svg', false, /\.svg$/) const requireAll = requireContext => requireContext.keys().map(requireContext) すべて必須(必須) # デフォルト設定を置き換える # マルチパス: true # 完全: 真 プラグイン: # - 名前 # # または: # - 名前: 偽 # - 名前: true # # または: # - 名前: # パラメータ1: 1 # パラメータ2: 2 -属性を削除: 属性: - '埋める' - '塗りつぶしルール' <テンプレート> <div v-if="isExternal" :style="styleExternalIcon" class="svg-external-icon svg-icon" v-on="$listeners" /> <svg v-else :class="svgClass" aria-hidden="true" v-on="$listeners"> <use :xlink:href="iconName" rel="external nofollow" /> </svg> </テンプレート> <スクリプト> // ドキュメント: https://panjiachen.github.io/vue-element-admin-site/feature/component/svg-icon.html#usage '@/utils/validate' から { isExternal } をインポートします。 エクスポートデフォルト{ 名前: 'SvgIcon', 小道具: { アイコンクラス: { タイプ: 文字列、 必須: true }, クラス名: { タイプ: 文字列、 デフォルト: '' } }, 計算: { 外部() { isExternal(this.iconClass) を返します }, アイコン名() { `#icon-${this.iconClass}` を返します }, svgクラス() { if (this.className) { 'svg-icon ' + this.className を返します } それ以外 { 'svg-icon' を返す } }, スタイル外部アイコン() { 戻る { マスク: `url(${this.iconClass}) 繰り返しなし 50% 50%`, '-webkit-mask': `url(${this.iconClass}) 繰り返しなし 50% 50%` } } } } </スクリプト> <スタイルスコープ> .svgアイコン{ 幅: 1em; 高さ: 1em; 垂直位置合わせ: -0.15em; 塗りつぶし: 現在の色; オーバーフロー: 非表示; } .svg-外部アイコン { 背景色: 現在の色; マスクサイズ: カバー!重要; 表示: インラインブロック; } </スタイル> <!-- @author 鄭傑 --> <テンプレート> <div class="icon-body"> <el-input v-model="name" style="position: relative;" clearable placeholder="アイコン名を入力してください" @clear="filterIcons" @input.native="filterIcons"> <i slot="サフィックス" class="el-icon-search el-input__icon" /> </el-input> <div class="アイコンリスト"> <div v-for="(item, index) in iconList" :key="index" @click="selectedIcon(item)"> <svg-icon :icon-class="item" style="高さ: 30px;幅: 16px;" /> <span>{{ アイテム }}</span> </div> </div> </div> </テンプレート> <スクリプト> './requireIcons' からアイコンをインポートします エクスポートデフォルト{ 名前: 'IconSelect', データ() { 戻る { 名前: ''、 iconList: アイコン } }, メソッド: { フィルターアイコン() { this.iconList = アイコン if (this.name) { this.iconList = this.iconList.filter(item => item.includes(this.name)) } }, 選択されたアイコン(名前) { this.$emit('選択された', 名前) ドキュメント本体をクリック() }, リセット() { this.name = '' this.iconList = アイコン } } } </スクリプト> <style rel="stylesheet/scss" lang="scss" スコープ> .アイコン本体{ 幅: 100%; パディング: 10px; .アイコンリスト{ 高さ: 200px; overflow-y: スクロール; div { 高さ: 30px; 行の高さ: 30px; 下マージン: -5px; カーソル: ポインタ; 幅: 33%; フロート: 左; } スパン { 表示: インラインブロック; 垂直位置合わせ: -0.15em; 塗りつぶし: 現在の色; オーバーフロー: 非表示; } } } </スタイル> これで、vue アイコン セレクターに関するこの記事は終了です。vue セレクターに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: フロントエンドのパフォーマンス最適化を学習するための準備として、HTML ページのレンダリング プロセスを理解する (続き)
背景インデックスは諸刃の剣です。クエリ速度は向上しますが、DML 操作も遅くなります。結局のところ、...
MySQL にリモートでログインする場合、使用するアカウントには特別な要件があります。アカウントのデ...
目次1. 親コンポーネントと子コンポーネントの関係2. 小道具3. $エミット4. $親V. 結論 ...
目次概要1. DOM要素をアニメーション化する方法2. 現在のブラウザでサポートされている変換互換の...
1. コマンドの紹介cal (カレンダー) コマンドは、現在の日付または指定された日付のグレゴリオ暦...
序文個人の実際の開発で使用した効果問題を、今後の開発やレビューに役立てるためにまとめています。他の人...
1つ。 Nexus プライベート サーバーを構築する理由は何ですか?社内の開発メンバーは全員外部ネッ...
で+ 時間 17:23に at> touch /mnt/file{1..9} ##アクションを...
目次1. Tomcat の概念–1、サーバー–2、ウェブサーバー–3、Tomcatサーバー次にTom...
Docker プロセス、メモリ、カップ消費量を表示dockerコンテナを起動し、dockerinsp...
3G の普及により、携帯電話を使ってインターネットにアクセスする人が増えています。モバイル デバイ...
目次ループ - for forループの基本的な使い方ループを終了するネストされたループ配列配列とは何...
最近、次のような効果を達成する必要がある最初は、CSS3D回転を使用して記述すると、次の効果しか得ら...
mysql テーブル作成 SQL ステートメントMySQL テーブルを作成するための一般的な SQL...
目次I. 概要2. 従来の多段階イメージ構築3. Buildkitを使用してイメージをビルドする4....