Skip to content

पोस्ट

वेनिला जावास्क्रिप्ट से React Input Value बदलना

27 जुलाई 2020 • 1 मिनट पढ़ना

वेनिला जावास्क्रिप्ट से React Input Value बदलना

संक्षिप्त उत्तर:

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");

संदर्भ: https://stackoverflow.com/a/52486921/17360

विस्तृत उत्तर:

React मूल जावास्क्रिप्ट onChange व्यवहार को ओवरराइड करता है। onChange इवेंट को ट्रिगर करना React की नजर में input field की value बदलने के लिए कुछ नहीं करता। React के लिए value अभी भी अपरिवर्तित है, भले ही उपयोगकर्ता को स्क्रीन पर value स्पष्ट रूप से दिखाई दे रही हो। उपरोक्त कोड React में भी परिवर्तन को ट्रिगर करता है।

लेखक: चक कॉनवे सॉफ्टवेयर इंजीनियरिंग और जेनेरेटिव AI में विशेषज्ञता रखते हैं। उनसे सोशल मीडिया पर जुड़ें: X (@chuckconway) या उन्हें YouTube पर देखें।

↑ शीर्ष पर वापस

आपको यह भी पसंद आ सकता है