React implementiert den Beispielcode der Radiokomponente

React implementiert den Beispielcode der Radiokomponente

Ziel dieses Artikels ist es, die Grundfunktionen einiger Komponenten mithilfe einer möglichst klaren Struktur zu implementieren. Ich hoffe, gemeinsam mit Ihnen zu lernen und Fortschritte zu machen.

Effektanzeige:

Testkomponenten:

Klasse Test erweitert Komponente {
  Konstruktor(Requisiten) {
    super(Requisiten)
    dieser.Zustand = {
      aktiv:1
    }
  }
  beiGruppenänderung(Wert) {
    dies.setState({
      aktiv: Wert
    })
  }
  rendern() {
    zurückkehren (
     <div>
      <RadioGroup beiÄnderung={diese.beiGroupÄnderung.bind(diese)} aktiv={diese.Zustand.aktiv}>
         <Radio value={1}>Mit Guthaben bezahlen</Radio>
         <Radio value={2}>WeChat Pay verwenden</Radio>
      </RadioGroup>
      <Schaltfläche bei Klick={()=>{
             console.log("Die aktuelle Auswahl ist: "+this.state.active)
           }}>Weiter</Button>
     </div>
      )
  }
}
Standardtest exportieren;

Radiogruppe:

importiere React, {Komponente} von „react“;
Klasse RadioGroup erweitert Komponente {
  handleActiveChange(Wert) {
    console.log(`${value} ist ausgewählt`)
    this.props.onChange(Wert)
  }
  rendern() {
    zurückkehren (
      <div>
        {
          React.Children.map(diese.props.children, Kind => {
            let isActive = this.props.active === child.props.value ? true : false
            returniere React.cloneElement(Kind, {
              Bezeichnung: child.props.children,
              Wert: child.props.value,
              aktiv: istAktiv,
              beim Klicken: dies.handleActiveChange.bind(dies)
            })
          })
        }
      </div>
    )
  }
}
Standard-RadioGroup exportieren;

Radio.jsx:

importiere React, {Komponente} von „react“;
importiere "./radio.scss"
Klasse Radio erweitert Komponente {
  rendern() {
    zurückkehren (
      <div className="radio-wrap" onClick={this.props.onClick.bind(this,this.props.value)}>
        <div Klassenname="links">
          <div className={`circle ${this.props.active === true ? 'aktiv' : ''} `}>
            <div Klassenname = "Gabel""></div>
          </div>
          <div className="label">{diese.props.label}</div>
        </div>
      </div>
    )
  }
}
Standardradio exportieren;

Radio.scss:

.radio-wrap {
  Höhe: 40px;
  Hintergrundfarbe: #ffffff;
  Anzeige: Flex;
  Elemente ausrichten: zentrieren;
  Polsterung: 0px 30px;

  &:aktiv {
    Hintergrundfarbe: rgb(221, 221, 221);
  }

  .links {
    Anzeige: Inline-Block;

    .Kreis {
      Anzeige: Inline-Block;
      Höhe: 22px;
      Breite: 22px;
      Box-Größe: Rahmenbox;
      Rand: 1px durchgezogen #c5c9cd;
      Randradius: 50 %;
      Hintergrundfarbe: #ffffff;
      Position: relativ;

      
    }
    .aktiv{
      Hintergrundfarbe: #1eb94a;
      .Gabel {
        Höhe: 12px;
        Breite: 5px;
        Rahmen rechts: 1,5px durchgezogen #ffffff;
        Rahmen unten: 1,5px durchgezogen #ffffff;
        Position: absolut;
        oben: 40%;
        links: 50%;
        transformieren: verschieben (-50 %, -50 %) drehen (45 Grad);
      }
    }

    .Etikett {
      vertikale Ausrichtung: oben;
      Rand links: 10px;
      Anzeige: Inline-Block;
      Höhe: 22px;
      Zeilenhöhe: 22px;
      Schriftgröße: 14px;
    }
  }
}

Dies ist das Ende dieses Artikels über den Beispielcode zur Implementierung der Radiokomponente in React. Weitere relevante Inhalte zur Implementierung der Radiokomponente in React finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Reagieren Sie auf die Verarbeitung von Fehlergrenzkomponenten
  • Detaillierte Erklärung von react setState
  • Tipps zum Schreiben prägnanter React-Komponenten
  • Beispiel für die Verwendung der setInterval-Funktion in React
  • Andrew Ngs maschinelle Lernübung: SVM Support Vector Machine

<<:  Detaillierte Erklärung der Verwendung und Unterschiede verschiedener Sperrmechanismen in Linux

>>:  So beheben Sie den Fehler beim MySQL-Transaktionsvorgang

Artikel empfehlen

So installieren Sie PostgreSQL und PostGIS mit yum auf CentOS7

1. Aktualisieren Sie die Yum-Quelle Die PostgreSQ...

Lösung für großen Zeilenabstand (5 Pixel mehr im IE)

Code kopieren Der Code lautet wie folgt: li {Brei...

MySQL-Variablendeklaration und Analyse gespeicherter Prozeduren

Deklarieren von Variablen Festlegen globaler Vari...

So bereinigen Sie Ihre Docker-Daten vollständig

Inhaltsverzeichnis Regelmäßig beschneiden Spiegel...

Vue integriert Tencent TIM Instant Messaging

In diesem Artikel wird hauptsächlich die Integrat...

So kapseln Sie die Tabellenkomponente von Vue Element

Beim Kapseln von Vue-Komponenten werde ich weiter...

Detaillierte Interpretation der Datei /etc/fstab im Linux-System

Vorwort [root@localhost ~]# cat /etc/fstab # # /e...

So fügen Sie in JS eine Abbruchfunktion zu einem Versprechen hinzu

Inhaltsverzeichnis Überblick Promise Race Methode...

So fügen Sie Vite-Unterstützung zu alten Vue-Projekten hinzu

1. Einleitung Ich habe vor zwei Jahren ein Projek...

So verwenden Sie Nginx zum Erstellen eines statischen Ressourcenservers

Nehmen wir Windows als Beispiel. Bei Linux ist es...

Kleines Problem mit dem Abstand zwischen Label und Eingabe im Google Browser

Erst Code, dann Text Code kopieren Der Code lautet...

Unterschied zwischen den Methoden querySelector und getElementById in JS

Inhaltsverzeichnis 1. Übersicht 1.1 Verwendung vo...

Datensatz zu langsamen MySQL-Abfragen und Abfragerekonstruktionsmethoden

Vorwort Was ist eine langsame Abfrage und wie kan...