Skip to content

Beiträge

Ändern eines React-Eingabewerts aus Vanilla Javascript

27. Juli 2020 • 1 min Lesezeit

Ändern eines React-Eingabewerts aus Vanilla Javascript

Die kurze Antwort:

function setNativeValue(element, value) {
    let lastValue = element.value;
    element.value = value;
    let event = new Event("input", { target: element, bubbles: true });
    // React 15
    event.simulated = true;
    // React 16
    let tracker = element._valueTracker;
    if (tracker) {
        tracker.setValue(lastValue);
    }
    element.dispatchEvent(event);
}

var input = document.getElementById("ID OF ELEMENT");
setNativeValue(input, "VALUE YOU WANT TO SET");

Referenz: https://stackoverflow.com/a/52486921/17360

Die lange Antwort:

React überschreibt das native Javascript-onChange-Verhalten. Das Auslösen eines onChange-Events ändert nichts am Eingabefeldwert aus Reacts Perspektive. Für React ist der Wert immer noch unverändert, obwohl ein Benutzer den Wert auf dem Bildschirm deutlich sehen kann. Der obige Code löst die Änderung auch in React aus.

Autor: Chuck Conway ist ein KI-Ingenieur mit fast 30 Jahren Erfahrung in der Softwareentwicklung. Er entwickelt praktische KI-Systeme – Content-Pipelines, Infrastruktur-Agenten und Tools, die echte Probleme lösen – und teilt seine Erkenntnisse unterwegs. Verbinden Sie sich mit ihm in den sozialen Medien: X (@chuckconway) oder besuchen Sie ihn auf YouTube und auf SubStack.

↑ Nach oben

Das könnte dir auch gefallen