Vueアイコンセレクターのサンプルコード

Vueアイコンセレクターのサンプルコード

出典: 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 を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Vue 日付時刻ピッカーコンポーネントの使い方の詳細な説明
  • Vue で変数式セレクターを実装する方法
  • Cascaderカスケードセレクタデータエコーを使用したVueの落とし穴についての簡単な説明
  • Vueはマルチラベルセレクタを実装する
  • Vant で時間セレクターを実装するための Vue サンプル コード
  • mpvue WeChat アプレットの複数列セレクターの使用により、州と都市の選択を実現

<<:  フロントエンドのパフォーマンス最適化を学習するための準備として、HTML ページのレンダリング プロセスを理解する (続き)

>>:  MySQL 全文インデックスガイド

推薦する

IE6/7 で絶対配置された要素が不可解に消えたりブロックされたりする問題を解決する方法

1. 絶対配置レイヤーの隣接フローティング レイヤーの幅が親レイヤーの幅と等しくなく、フロートがクリ...

HTML における相対と絶対の使用法と違いの詳細な説明

HTML における相対と絶対の違い: 正直に言うと、HTML は世界で最もシンプルな言語です。タグ言...

ウェブページにプレーヤーを埋め込む埋め込み要素の自動開始が false 無効

最近、仕事でサウンド ファイルを再生するために Web ページにプレーヤーを埋め込む必要に迫られまし...

Linux で複数の mysql5.7.19 (tar.gz) ファイルをインストールする方法

LinuxでのMySQL-5.7.19バージョンの初心者向けの最初のインストールについては、前の記事...

MySQLのconcat関連関数の詳細な説明

1. concat() 関数機能: 複数の文字列を 1 つの文字列に連結する構文: concat(s...

Web ページでフラッシュの wmode 属性を使用する方法をご存知ですか?

Web 開発を行う際に、フラッシュがページ内の要素をブロックする状況に遭遇することがあります。フラ...

Linux ネットワークプログラミングにおけるソケットオプションの実装

ソケットオプション機能機能: ソケットファイル記述子の属性の読み取りと設定に使用されるメソッド #i...

js配列のfind、some、filter、reduceの違いの詳細な説明

Array の filter、find、some、reduce メソッドの違いを区別し、使用シナリオ...

Dockerfile における ENTRYPOINT と CMD の違い

Docker システムの学習チュートリアルでは、Dockerfile を使用して Docker イメ...

つまり、フィルターコレクション

IE は開発の初期段階では頭を悩ませましたが、他のブラウザとは異なります。他のブラウザがサポートして...

Dockerコンテナはルーティングを介して直接通信し、ネットワーク通信を実現します。

概要Docker 自体の現在のデフォルト ネットワークについては、単一ホスト上の異なる Docker...

無効と読み取り専用の機能と違い

1: readonly は、このコントロールをロックして、インターフェイス上で変更できないようにしま...

MySQLログに関する知識のまとめ

目次SQL実行順序ビンログ何ですかいつ生産されるのか何の役に立つんだディスクはいつドロップされますか...

なぜ Tomcat が起動できないのでしょうか?

目次現象:ポートの使用:ファイルにスペルミスがあります:現象: Tomcat がインストールされ、W...

vue 動的コンポーネント

目次1. コンポーネント2. キープアライブ2.1 問題点2.2 キープアライブを使って解決する2....