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 全文インデックスガイド

推薦する

MySQL における SQL ページングクエリのいくつかの実装方法と利点と欠点

【SQL】SQLページングクエリの概要開発プロセスではページングが必要になることがよくあります。今日...

CSS3を使用してボタンホバーフラッシュダイナミック特殊効果コードを実装する

CSS3 の列シリーズ属性を使用してウォーターフォールレイアウトを作成する方法を紹介しました。興味の...

div タグ内の要素の margin-top が無効である場合の解決策

タイトル通りです。その質問は非常に奇妙です。要素の親タグはdivで、幅や高さなどの属性は設定されてい...

Centos8.3、dockerデプロイメントspringbootプロジェクトの実際のケース分析

導入現在、k8s は非常に人気があり、それについて学ぶために本を購入しました。しかし、k8s では数...

カルーセル例の JS 実装

この記事では、カルーセルチャートの小さなケースを実装するためのJSの具体的なコードを参考までに共有し...

Vuexの補助関数の使い方

目次マップ状態マップゲッターマップミューテーションマップアクション複数のモジュールマップ状態 ...

JS で async と await を使用する方法

目次1. 非同期2. 待つ: 3. 包括的なアプリケーション1. 非同期async 、非同期コードが...

MySQL に配列を保存するサンプルコードと方法

多くの場合、ストアド プロシージャを作成するときに配列がよく使用されますが、MySQL ではストアド...

Docker で TLS と CA 認証を有効にする方法

目次1. 証明書を生成する2. リモートを有効にする3. リモート接続3.1 Jenkins接続3....

Linux でのデータベースのスケジュールバックアップの実装スクリプト

目次シナリオ: サーバーデータベースを毎日定期的にバックアップする必要がある1. まずバックアップス...

Linuxの運用・保守の基礎知識から上級者向け知識までをまとめました

運用保守エンジニアは、初期段階では非常に大変な仕事です。この期間中、コンピューターの修理、ネットワー...

一般的なテーブルコンポーネントの Vue カプセル化の完全な手順記録

目次序文テーブル コンポーネントをカプセル化する必要があるのはなぜですか?ステップ1: 共通コンポー...

MySQL データベース SELECT クエリ式分析

データ管理の大部分は検索であり、SELECT はその大部分を占めています。 SELECT selec...

VirtualBox で作成された Debian 仮想マシンは Windows ホストとファイルを共有します

用語: 1. VM: 仮想マシンステップ: 1. Windows 10 に VirtualBox 6...

画像のシームレスなスクロールを実現する JavaScript タイマー

この記事では、画像のシームレスなスクロールを実現するためのJavaScriptの具体的なコードを参考...