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

Einfaches Beispiel für den Grenzwertparameter der MySQL-Paging

Zwei Parameter der MySQL-Paging Wählen Sie * aus ...

Detaillierte Schritte zur schnellen Installation von Openshift

Der schnellste Weg, die neueste Version von OpenS...

Lizenzschlüssel für VMware Workstation Pro 16 mit Nutzungs-Tutorial

VMware Workstation ist eine leistungsstarke virtu...

Neue Funktionen in MySQL 8.0: Hash Join

Das MySQL-Entwicklungsteam hat am 14. Oktober 201...

HTML-Auszeichnungssprache - Formular

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

Zusammenfassung der Nginx-Konfigurationsstandortmethode

Standortabgleichsreihenfolge 1. Übereinstimmung m...

So verwenden Sie Docker, um Containerressourcen zu begrenzen

Problem beim Gucken Angenommen, der IIS-Dienst st...

Installationsschritte der Ubuntu 20.04-Doppelpinyin-Eingabemethode

1. Chinesische Eingabemethode einrichten 2. Stell...