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 8 の新機能: 非表示のインデックス

背景インデックスは諸刃の剣です。クエリ速度は向上しますが、DML 操作も遅くなります。結局のところ、...

MySQL ユーザーのホスト属性を素早く変更する方法

MySQL にリモートでログインする場合、使用するアカウントには特別な要件があります。アカウントのデ...

Vueで親子コンポーネント通信を実装する方法

目次1. 親コンポーネントと子コンポーネントの関係2. 小道具3. $エミット4. $親V. 結論 ...

JavaScript オブジェクト指向の実践の詳細説明: カプセル化とオブジェクトのドラッグ

目次概要1. DOM要素をアニメーション化する方法2. 現在のブラウザでサポートされている変換互換の...

Linux calコマンドの使用

1. コマンドの紹介cal (カレンダー) コマンドは、現在の日付または指定された日付のグレゴリオ暦...

Vue は左右のスライド効果のサンプルコードを実装します

序文個人の実際の開発で使用した効果問題を、今後の開発やレビューに役立てるためにまとめています。他の人...

Nexusプライベートサーバー構築原理とチュートリアル分析

1つ。 Nexus プライベート サーバーを構築する理由は何ですか?社内の開発メンバーは全員外部ネッ...

Linux でのスケジュールされたタスクと遅延タスクの詳細な説明

で+ 時間 17:23に at> touch /mnt/file{1..9} ##アクションを...

Tomcat サーバー入門の超詳細なチュートリアル

目次1. Tomcat の概念–1、サーバー–2、ウェブサーバー–3、Tomcatサーバー次にTom...

Docker View プロセス、メモリ、カップ消費量

Docker プロセス、メモリ、カップ消費量を表示dockerコンテナを起動し、dockerinsp...

モバイルデバイスにおける適応レイアウトの問題に関する簡単な説明 (レスポンシブ、rem/em、Js ダイナミクス)

3G の普及により、携帯電話を使ってインターネットにアクセスする人が増えています。モバイル デバイ...

JavaScript の基本: ループと配列

目次ループ - for forループの基本的な使い方ループを終了するネストされたループ配列配列とは何...

CSS3 を使用して楕円軌道の回転を実装するサンプルコード

最近、次のような効果を達成する必要がある最初は、CSS3D回転を使用して記述すると、次の効果しか得ら...

テーブルを作成するための MySQL SQL ステートメントの詳細な概要

mysql テーブル作成 SQL ステートメントMySQL テーブルを作成するための一般的な SQL...

Docker で Maven プロジェクトをより速くビルドする

目次I. 概要2. 従来の多段階イメージ構築3. Buildkitを使用してイメージをビルドする4....