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

Erläuterung von JavaScript-Mikrotasks und Makrotasks

Vorwort: js ist eine Single-Thread-Sprache, daher...

Erläuterung der Lösung zur mobilen H5-Bildgenerierung in JavaScript

Derzeit gibt es viele Betriebsaktivitäten für öff...

Docker-Datenverwaltung und Netzwerkkommunikationsnutzung

Sie können Docker installieren und einfache Vorgä...

CSS, um den kleinen scharfen Eckeneffekt von Blasen zu erzielen

Effektbild (die Rahmenfarbe ist zu hell, setzen S...

Beispielcode für die Master-Slave-Trennung einer MySQL-Datenbank

einführen Durch das Einrichten einer Lese-/Schrei...

So implementieren Sie das Abfangen von URIs im Nginx-Standort

veranschaulichen: Stamm und Alias ​​im Standort D...

Docker realisiert die Verbindung mit demselben IP-Netzwerksegment

Vor Kurzem habe ich das Problem gelöst, dass Dock...

Implementierung von JavaScript zum Herunterladen und Hochladen verknüpfter Bilder

Da wir Bilder hochladen möchten, müssen wir zunäc...

Tabelle td Bild horizontal und vertikal zentriert Code

HTML Code: Code kopieren Der Code lautet wie folgt...

Front-End-JavaScript-Versprechen

Inhaltsverzeichnis 1. Was ist Promise 2. Grundleg...