出典: 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 ページのレンダリング プロセスを理解する (続き)
【SQL】SQLページングクエリの概要開発プロセスではページングが必要になることがよくあります。今日...
CSS3 の列シリーズ属性を使用してウォーターフォールレイアウトを作成する方法を紹介しました。興味の...
タイトル通りです。その質問は非常に奇妙です。要素の親タグはdivで、幅や高さなどの属性は設定されてい...
導入現在、k8s は非常に人気があり、それについて学ぶために本を購入しました。しかし、k8s では数...
この記事では、カルーセルチャートの小さなケースを実装するためのJSの具体的なコードを参考までに共有し...
目次マップ状態マップゲッターマップミューテーションマップアクション複数のモジュールマップ状態 ...
目次1. 非同期2. 待つ: 3. 包括的なアプリケーション1. 非同期async 、非同期コードが...
多くの場合、ストアド プロシージャを作成するときに配列がよく使用されますが、MySQL ではストアド...
目次1. 証明書を生成する2. リモートを有効にする3. リモート接続3.1 Jenkins接続3....
目次シナリオ: サーバーデータベースを毎日定期的にバックアップする必要がある1. まずバックアップス...
運用保守エンジニアは、初期段階では非常に大変な仕事です。この期間中、コンピューターの修理、ネットワー...
目次序文テーブル コンポーネントをカプセル化する必要があるのはなぜですか?ステップ1: 共通コンポー...
データ管理の大部分は検索であり、SELECT はその大部分を占めています。 SELECT selec...
用語: 1. VM: 仮想マシンステップ: 1. Windows 10 に VirtualBox 6...
この記事では、画像のシームレスなスクロールを実現するためのJavaScriptの具体的なコードを参考...