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

MySQL sql_mode-Analyse und Einstellungserklärung

Beim Einfügen eines Datensatzes in die MySQL-Date...

Adaptive Breitentabelle für HTML-Seiten

Auf den Seiten von Webanwendungen werden häufig T...

Die HTML-Eingabedateisteuerung begrenzt den Typ der hochgeladenen Dateien

Fügen Sie der Webseite ein HTML-Steuerelement für...

Detaillierte Erklärung zur korrekten Verwendung der if-Funktion in MySQL

Für das, was ich heute schreiben werde, lief das ...

Zusammenfassung grundlegender SQL-Anweisungen in der MySQL-Datenbank

Dieser Artikel beschreibt anhand von Beispielen d...

100-1% des Inhalts der Website ist Navigation

Website, (100-1)% des Inhalts ist Navigation 1. J...

So verwenden Sie CocosCreator zur Tonverarbeitung bei der Spieleentwicklung

Inhaltsverzeichnis 1. Grundlagen der Audiowiederg...

Hinweise zum Systemaufruf des Linux-Kernel-Gerätetreibers

/**************************** * Systemaufruf*****...

Detaillierte Erklärung langer Transaktionsbeispiele in MySQL

Vorwort: Die Artikelserie „Erste Schritte mit MyS...