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

Methode zur Erstellung von Vue-Scaffolding-Lernprojekten

1. Was ist Scaffolding? 1. Vue-CLI Vue CLI ist ei...

Detaillierte Erklärung von JavaScript Promise und Async/Await

Inhaltsverzeichnis Überblick Vier Beispiele Beisp...

Verwenden Sie HTML, um eine einfache E-Mail-Vorlage zu schreiben

Heute möchte ich über ein „Low-Tech“-Problem schr...

Umfassender Vergleich und Bewertung des Vue-Code-Hervorhebungs-Plugins

Inhaltsverzeichnis Umfassender Vergleich Aus der ...

Detaillierte Erklärung zur Installation von PHP7 unter Linux

Wie installiere ich PHP7 unter Linux? 1. Installi...

Installieren Sie mysql5.7.17 mit RPM unter Linux

Die Installationsmethode von MySQL5.7 rpm unter L...

Detaillierte Erklärung der Mixins in Vue.js

Mixins stellen auf flexible Weise verteilte, wied...

Eine kleine Einführung in die Verwendung der Position in HTML

Ich habe gestern gerade etwas HTML gelernt und kon...

Tutorial zu HTML-Tabellen-Tags (13): Regeln für interne Rahmenstilattribute

Mit REGELN kann die Art der inneren Rahmen der Ta...

Schreiben Sie einen einfachen Rechner mit JavaScript

Die Wirkung ist wie folgt:Referenzprogramm: <!...

Detaillierte Erklärung von count(), group by, order by in MySQL

Ich bin vor Kurzem auf ein Problem gestoßen, als ...

Unterschied zwischen den Methoden querySelector und getElementById in JS

Inhaltsverzeichnis 1. Übersicht 1.1 Verwendung vo...