JavaScript implementiert eine Eingabefeldkomponente

JavaScript implementiert eine Eingabefeldkomponente

In diesem Artikelbeispiel wird der spezifische Code zur manuellen Implementierung einer Eingabefeldkomponente zu Ihrer Information bereitgestellt. Der spezifische Inhalt ist wie folgt

Hintergrund

In Taro H5 möchte ich ein Eingabefeld mit dem folgenden Stil implementieren:

Frage:

Es gibt keine Komponente dieses Stils in der Taro-Komponente und der Taro-UI-Komponente. Taro h5 unterstützt keine Änderung des Stils von Platzhaltern. Ich habe versucht, selbst eine Eingabekomponente zu implementieren, die den Stil flexibler definieren kann.

erreichen

JS-Code

importiere Taro, {Komponente} von '@tarojs/taro';
importiere { Ansicht } aus '@tarojs/components';
importiere { AtIcon } von „taro-ui“;

importiere './index.scss';

/**
 * @description Manuelles Implementieren einer Eingabefeldkomponente* @param placeholder: String Passen Sie den Platzhalter im Eingabefeld an* @param onClickSearch: Funktion Rückruf zum Abrufen des Eingabeinhalts*/
Klasse BaseInput erweitert Komponente {
  componentDidMount() {
    //Fokus auf Eingabefeld document.querySelector('.search').focus();
  }

  handleSearch = () => {
    //Inhalt des Eingabefelds abrufen const value = document.querySelector('.search').innerText;
    this.props.onClickSearch und this.props.onClickSearch (Wert);
  };

  rendern() {
    const { Platzhalter = 'Bitte eingeben' } = this.props;
    zurückkehren (
      <Klassenname anzeigen="base_input">
        <View className="meine_suche">
          <AtIcon
            Wert="Suche"
            Farbe = "999"
            Klassenname = "Suchsymbol"
            beiKlick={this.handleSearch}
          />
          {/* contenteditable kann steuern, ob ein Div bearbeitet werden kann*/}
          <Ansicht
            Klassenname="Suche"
            Inhalt editierbar
            Platzhalter={Platzhalter}
          ></Anzeigen>
        </Anzeigen>
      </Anzeigen>
    );
  }
}
Standard-BaseInput exportieren;

SCSS-Code

.base_input {
  .meine_suche {
    Box-Größe: Rahmenbox;
    Breite: 690px;
    Höhe: 56px;
    Zeilenhöhe: 56px;
    Rahmenradius: 28px;
    Rand: 12px automatisch;
    Hintergrund: #f8f8f8;
    Anzeige: Flex;
    .Suchsymbol {
      Breite: 30px;
      Höhe: 30px;
      Rand links: 20px;
      Rand rechts: 18px;
    }
    .suchen {
      Breite: 560px;
      Polsterung: 0px 18px;
      Hintergrund: #f8f8f8;
      Höhe: 56px;
      Farbe: #999;
      Schriftgröße: 28px;
      Schriftstärke: 400;
      &:leer::nach {
        Inhalt: Attr (Platzhalter);
      }
    }
  }
}

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Vue.js-Textfeld mit Dropdown-Komponente
  • Detaillierte Erklärung zur Verwendung der digitalen Eingabefeldkomponente von Vue.js
  • JS imitiert das Beispiel einer Komponente zur Vergrößerung des Alipay-Eingabetexteingabefelds
  • Entwicklung von JavaScript-Komponenten: Eingabefeld plus Kandidatenfeld
  • JS verwendet reguläre Ausdrücke, um das Eingabefeld so einzuschränken, dass nur Ganzzahlen und Dezimalzahlen (Beträge oder Bargeld) mit zwei Dezimalstellen zulässig sind
  • js und jquery Echtzeitüberwachung des Eingabefeldwerts Oninput- und Onpropertychange-Methoden
  • js überwacht die sofortigen Änderungen der Eingabefeldwerte bei Eigenschaftsänderung, bei Eingabe
  • JS implementiert die Methode zum Einblenden eines Eingabefelds auf der Webseite
  • js ändert dynamisch das Typattribut des Eingabefelds (Analyse der Implementierungsmethode)
  • js überwacht die Echtzeitänderungen des Eingabefeldwerts

<<:  Methode zur Realisierung einer automatisierten Bereitstellung basierend auf Docker + Jenkins

>>:  Detaillierte Erläuterung der MySQL-Mehrtabellenabfrage

Artikel empfehlen

So führen Sie geplante PHP-Aufgaben in CentOS7 aus

Vorwort Dieser Artikel stellt hauptsächlich den r...

5 Punkte, auf die Sie beim Erstellen einer Webseite achten sollten

1. Farbabstimmungsproblem <br />Eine Webseit...

So erstellen Sie ein Apr-Modul zur Tomcat-Leistungsoptimierung

Vorwort Tomcat ist ein weit verbreiteter Java-Web...

Vue implementiert Upload-Komponente

Inhaltsverzeichnis 1. Einleitung 2. Ideen Zwei Mö...

So speichern Sie „false“ oder „true“ in MySQL

Boolescher MySQL-Wert, speichert „false“ oder „tr...

MySQL 8.0.13 Download- und Installations-Tutorial mit Bildern und Text

MySQL ist die am häufigsten verwendete Datenbank....

Beispielschritte zur Verwendung von AntV X6 mit Vue.js

Inhaltsverzeichnis 0x0 Einführung 0x1 Installatio...

Miniprogramm zur Implementierung der Rechnerfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Einführung in neue ECMAscript-Objektfunktionen

Inhaltsverzeichnis 1. Objekteigenschaften 1.1 Att...