Beispielcode des Vue-Symbolselektors

Beispielcode des Vue-Symbolselektors

Quelle: http://www.ruoyi.vip/

Vue von „vue“ importieren
importiere SvgIcon von '@/components/SvgIcon' // SVG-Komponente
 
// global registrieren
Vue.component('svg-icon', SvgIcon)
 
const req = require.context('./svg', false, /\.svg$/)
const requireAll = requireContext => requireContext.keys().map(requireContext)
erfordernAlles(req) 

# Standardkonfiguration ersetzen
 
# multipass: true
# voll: wahr
 
Plugins:
 
  # - Name
  #
  # oder:
  # - Name: falsch
  # - Name: wahr
  #
  # oder:
  # - Name:
  # param1: 1
  # param2: 2
 
-removeAttrs:
    Attribute:
      - 'füllen'
      - 'Füllregel' 

<Vorlage>
  <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>
</Vorlage>
 
<Skript>
// Dokument: https://panjiachen.github.io/vue-element-admin-site/feature/component/svg-icon.html#usage
importiere { isExternal } von '@/utils/validate'
 
Standard exportieren {
  Name: "SvgIcon",
  Requisiten: {
    Symbolklasse: {
      Typ: Zeichenfolge,
      erforderlich: true
    },
    Klassenname: {
      Typ: Zeichenfolge,
      Standard: ''
    }
  },
  berechnet: {
    istExternal() {
      gibt isExternal(diese.iconClass) zurück
    },
    Symbolname() {
      gibt `#icon-${this.iconClass}` zurück
    },
    svgClass() {
      wenn (dieser.Klassenname) {
        gib 'svg-icon ' + diesen.Klassennamen zurück
      } anders {
        gib 'svg-icon' zurück
      }
    },
    styleExternalIcon() {
      zurückkehren {
        Maske: `url(${this.iconClass}) no-repeat 50% 50%`,
        „-webkit-mask“: „url(${this.iconClass}) keine Wiederholung 50 % 50 %“
      }
    }
  }
}
</Skript>
 
<Stilbereich>
.svg-Symbol {
  Breite: 1em;
  Höhe: 1em;
  vertikale Ausrichtung: -0,15em;
  füllen: aktuelle Farbe;
  Überlauf: versteckt;
}
 
.svg-external-icon {
  Hintergrundfarbe: aktuelle Farbe;
  Maskengröße: Abdeckung!wichtig;
  Anzeige: Inline-Block;
}
</Stil> 

<!-- @author zhengjie -->
<Vorlage>
  <div Klasse="Symbol-Body">
    <el-input v-model="name" style="position: relative;" clearable placeholder="Bitte geben Sie den Symbolnamen ein" @clear="filterIcons" @input.native="filterIcons">
      <i slot="suffix" class="el-icon-search el-input__icon" />
    </el-Eingabe>
    <div Klasse="Symbolliste">
      <div v-for="(Element, Index) in Symbolliste" :Schlüssel="Index" @click="selectedIcon(Element)">
        <svg-icon:icon-class="item" style="Höhe: 30px;Breite: 16px;" />
        <span>{{ Artikel }}</span>
      </div>
    </div>
  </div>
</Vorlage>
 
<Skript>
Symbole aus „./requireIcons“ importieren
Standard exportieren {
  Name: "IconSelect",
  Daten() {
    zurückkehren {
      Name: '',
      Symbolliste: Symbole
    }
  },
  Methoden: {
    filterIcons() {
      this.iconList = Symbole
      wenn (dieser.Name) {
        diese.iconList = diese.iconList.filter(Element => Element.includes(dieser.name))
      }
    },
    ausgewähltesSymbol(Name) {
      dies.$emit('ausgewählt', Name)
      Dokument.Body.Klick()
    },
    zurücksetzen() {
      dieser.name = ''
      this.iconList = Symbole
    }
  }
}
</Skript>
 
<style rel="stylesheet/scss" lang="scss" scoped>
  .Symbol-Körper {
    Breite: 100 %;
    Polsterung: 10px;
    .Symbolliste {
      Höhe: 200px;
      Überlauf-y: scrollen;
      div {
        Höhe: 30px;
        Zeilenhöhe: 30px;
        Rand unten: -5px;
        Cursor: Zeiger;
        Breite: 33%;
        schweben: links;
      }
      Spanne {
        Anzeige: Inline-Block;
        vertikale Ausrichtung: -0,15em;
        füllen: aktuelle Farbe;
        Überlauf: versteckt;
      }
    }
  }
</Stil> 

Dies ist das Ende dieses Artikels über den Vue-Symbolselektor. Weitere relevante Inhalte zum Vue-Selektor finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung zur Verwendung der Vue-Komponente zur Datums- und Uhrzeitauswahl
  • So implementieren Sie einen variablen Ausdrucksselektor in Vue
  • Eine kurze Diskussion über die Fallstricke von Vue bei der Verwendung von Cascader Cascade Selector Data Echo
  • Vue implementiert Multi-Label-Selektor
  • Vue-Beispielcode zur Implementierung eines Zeitselektors mit Vant
  • Verwendung des mehrspaltigen Selektors im mpvue WeChat-Applet zur Auswahl von Provinzen und Städten

<<:  Lernen Sie den Rendering-Prozess von HTML-Seiten kennen, um sich auf die Optimierung der Front-End-Leistung vorzubereiten (Fortsetzung)

>>:  Handbuch zur MySQL-Volltextindizierung

Artikel empfehlen

Vue verwendet Drag & Drop, um einen Strukturbaum zu erstellen

In diesem Artikelbeispiel wird der spezifische Co...

Lösung für den Fehler bei der Verbindung mit MySQL in Docker

Szenario: Nach der Installation der neuesten Vers...

Mit CSS3 erstellter Hintergrundverlaufsanimationseffekt

Ergebnisse erzielen Implementierungscode html <...

Lösung für die Baidu-Site-Suche, die https nicht unterstützt (getestet)

Seit kurzem ist https auch auf dem Handy möglich....

So fügen Sie Docker dynamisch Ports hinzu, ohne das Image neu zu erstellen

Manchmal müssen Sie während des Betriebs freigege...

Detaillierte Erklärung der Linux-Befehle und der Dateisuche

1. Führen Sie eine Dateinamensuche durch which (S...

Eine vorläufige Studie zu JSBridge in Javascript

Inhaltsverzeichnis Der Ursprung von JSBridge Das ...

MySQL-Operationen: Operationen mit JSON-Datentyp

Im vorherigen Artikel haben wir das ausführliche ...

Eine kurze Erläuterung der Schriftarteinstellungen in Webseiten

Das Festlegen der Schriftart für die gesamte Site...