Reacts Methode zur Realisierung einer sekundären Verknüpfung

Reacts Methode zur Realisierung einer sekundären Verknüpfung

In diesem Artikel wird der spezifische Code von React zur Erzielung einer sekundären Verknüpfung zu Ihrer Information veröffentlicht. Der spezifische Inhalt ist wie folgt

Implementierungseffekt: Gewöhnliche h5-Seite. Ich habe das Bild zugeschnitten und den Benutzerteil gelöscht, aber dies hat keine Auswirkungen auf die Beschreibung.

Die allgemeine Idee besteht darin, die Datenschnittstelle von der Seite an die Komponente zu übergeben. Nachdem die Interaktion in der Komponente ausgeführt wurde, werden die ausgewählten Datenergebnisse über onTimeChange an die Seite zurückgegeben und dann auf der Seite angezeigt.
Ich habe es in Taro geschrieben, die Syntax ist die gleiche wie bei React.

Mini-Programm-Effekt

Eine Methode von vor langer Zeit, ich gebe Ihnen den Implementierungscode:

1. Auf der Seite gibt es ein Popup-Fenstermodul zur Auswahl der Zeit

 {this.state.isToggleOn && (
    <Panel
        beiZeitänderung={dies.beiZeitänderung}
        beiKlick={this.closeMask}
        list={this.state.timeList} //Schnittstellendaten status={this.state.status} //Aktueller Produktstatus, optional/>
   )}

2. Im Popup-Fenster

importiere { Komponente } von "@tarojs/taro";
importiere { Ansicht, Text } aus "@tarojs/components";
importiere SendTime aus "../time";
importiere "./index.scss";

exportiere Standardklasse Panel erweitert Komponente {
  Konstruktor(Requisiten) {
    super(Requisiten);
  }

  statische Standardeigenschaften = {
    Liste: [],
    Status: ""
  };

  beiKlick() {
    dies.props.onClick();
  }

  beiZeitänderung(Datum, Uhrzeit) {
    this.props.onTimeChange(Datum, Uhrzeit);
  }

  rendern() {
    zurückkehren (
      <Klassenname anzeigen="panel-modal">
        <Sendezeit
          Liste={diese.props.list}
          beiKlick={dies.beiKlick}
          beiZeitänderung={dies.beiZeitänderung}
          Status = {diese.props.status}
        />
      </Anzeigen>
    );
  }
}

3. In der Zeitkomponente

importiere { Komponente } von "@tarojs/taro";
importiere { Ansicht, Text } aus "@tarojs/components";
importiere { Bildliste } aus "../../Bild";
importiere "./index.scss";

sei dateNum = 0,
  ZeitNum = 0;
exportiere Standardklasse SendTime erweitert Komponente {
  Konstruktor(Requisiten) {
    super(Requisiten);

    dieser.Zustand = {
      Datumsnummer: Datumsnummer,
      ZeitNum: ZeitNum,
      Zeitliste: [],
    };
  }

  statische Standardeigenschaften = {
    Liste: [],
  };

  beiKlick() {
    dies.props.onClick();
  }

  SchalterTag(Index, Info) {
    dies.setState({
      Datumsnummer: Index,
    });
    Datumsnummer = Index;
    dies.switchTime(zeitNum);
    let date = info? info.date: "";
    let Zeit = info und info.timeSegmentList? info.timeSegmentList[0]: "";
    dies.setState({
      Zeitliste: info.ZeitSegmentListe,
    });
    dies.onTimeChange(Datum, Uhrzeit);
  }

  schalteZeit(index) {
    let dateNum = dieser.zustand.dateNum;
    dies.setState({
      ZeitNum: Index,
    });
    ZeitNum = Index;
    let date = this.props.list[Datumsnummer] ? this.props.list[Datumsnummer].date : "";
    let Zeit = this.props.list[Datumsnummer]
      ? diese.props.list[Datumsnummer].Zeitsegmentliste[Index]
      : "";
    wenn (Index != 0) {
      dies.onTimeChange(Datum, Uhrzeit);
    }
  }

  beiZeitänderung(Datum, Uhrzeit) {
    this.props.onTimeChange(Datum, Uhrzeit);
  }

  KomponenteWillMount() {
    dies.setState({
      timeList: ["Sofort versenden, nachdem die Gruppe gebildet wurde"],
    });
  }

  componentDidMount() {
    wenn (diese.props.status) {
      this.switchDay(Datumsnummer, this.props.list[Datumsnummer]);
    } anders {
      (Datumsnummer = 0), (Zeitnummer = 0);
      dies.setState(
        {
          Datennummer: 0,
          Zeitzahl: 0,
        },
        () => {
          dies.switchDay(0, diese.props.list[0]);
        }
      );
    }
  }

  getClassName(index) {
    Schalter (Index) {
      Fall this.state.dateNum:
        returniere "send-data-li aktuell";
      Standard:
        gibt "send-data-li" zurück;
    }
  }

  rendern() {
    zurückkehren (
      <Ansicht>
        <View className="Sendezeit-Titel" onClick={this.onClick}>
          <Text>Lieferzeit</Text>
          <Klassenname anzeigen="schließen" />
        </Anzeigen>
        <Klassenname anzeigen="Sendezeit-Kontrolle">
          <Klassenname anzeigen="Sendedatumsliste">
            {this.props.list.map((info, index) => (
              <Ansicht
                Schlüssel={index}
                Klassenname={
                  index === dieser.status.datumsnummer
                    ? "sende-data-li aktuell"
                    : "sende-daten-li"
                }
                bei Klick={dieser.switchDay.bind(dieser, index, info)}
              >
                <Text className="txt">{info ? info.date : ""}</Text>
              </Anzeigen>
            ))}
          </Anzeigen>
          <Klassenname anzeigen="send-r-time">
            {this.state.timeList.map((info, index) => (
              <Ansicht
                Schlüssel={index}
                Klassenname={
                  index === dieser.zustand.zeitNum
                    ? "send-r-li aktuell"
                    : "send-r-li"
                }
                bei Klick = {this.switchTime.bind(this, index)}
              >
                <Klasse anzeigen="send-r-flex">
                  <Text class="txt">{info}</Text>
                  <Bild
                    Klassenname="blau-ok"
                    src={Bildliste.blueOk}
                    Modus = {"aspectFit"}
                    lazy-load={true}
                  />
                </Anzeigen>
              </Anzeigen>
            ))}
          </Anzeigen>
        </Anzeigen>
      </Anzeigen>
    );
  }
}

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:
  • React realisiert sekundäre Verknüpfung (linke und rechte Verknüpfung)
  • React realisiert sekundären Verknüpfungseffekt (Treppeneffekt)
  • React + ts realisiert den sekundären Verknüpfungseffekt

<<:  Detaillierte Erklärung des MySQL-Überwachungstools mysql-monitor

>>:  Detaillierte Erklärung der Linux-RPM- und Yum-Befehle und -Verwendung

Artikel empfehlen

HTML-Auszeichnungssprache - Referenz

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...

MySql5.7.21 Installationspunkte Datensatznotizen

Die heruntergeladene Version ist die Zip-Dekompri...

Praktische Methode zum Löschen einer Zeile in einer MySql-Tabelle

Zunächst müssen Sie bestimmen, welche Felder oder...

Detaillierte Erklärung der HTML-Download-Funktion

Das neue Projekt ist im Grunde abgeschlossen. Es ...

Mysql Master-Slave-Synchronisation Last_IO_Errno:1236 Fehlerlösung

Was ist der Grund für den Fehler Last_IO_Errno:12...

Verwendung des SerialPort-Moduls in Node.js

Inhaltsverzeichnis Zweck Modulinstallation Grundl...

CSS3-Beispielcode zum Erreichen einer Elementbogenbewegung

So verwenden Sie CSS, um die Bogenbewegung von El...

Tipps zur Verwendung des Top-Befehls in Linux

Lassen Sie mich zunächst die Bedeutung einiger Fe...

So kompilieren und installieren Sie OpenCV unter Ubuntu

Einfache Installation von opencv2: conda installi...

So implementieren Sie ein responsives Layout mit CSS

Implementieren eines responsiven Layouts mit CSS ...