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

Best Practices zum Teilen von React-Code

Wenn ein Projekt eine gewisse Komplexität erreich...

Der Unterschied zwischen VOLUME und docker -v in Dockerfile

Es gibt offensichtliche Unterschiede zwischen der...

Linux löscht automatisch Protokolle und Beispielbefehle von vor n Tagen

1. Befehl zum Löschen von Dateien: Suche das ents...

Was ist BFC? So löschen Sie Floats mithilfe von CSS-Pseudoelementen

BFC-Konzept: Der Blockformatierungskontext ist ei...

Zusammenfassung der Mysql-Existes-Verwendung

Einführung Mit EXISTS wird geprüft, ob eine Unter...

Mehrere Möglichkeiten zum Verbinden von Tabellen in MySQL

Die Verbindungsmethode in der MySQL-Tabelle ist e...

So starten Sie mehrere MySQL-Instanzen in CentOS 7.0 (mysql-5.7.21)

Konfigurationsanweisungen Linux-System: CentOS-7....

Docker-Lernen: Die spezifische Verwendung von Container-Containern

Container sind ein weiteres Kernkonzept von Docke...

Die normale Methode der MySQL-Deadlock-Prüfungsverarbeitung

Normalerweise wird bei einem Deadlock die Verbind...

Anfänger lernen einige HTML-Tags (2)

Verwandter Artikel: Anfänger lernen einige HTML-Ta...

5 einfache Möglichkeiten, Speicherplatz auf Ubuntu freizugeben

Vorwort Die meisten Benutzer führen diesen Vorgan...