मुझे पता है कि यह उत्तर थोड़ी देर से आता है लेकिन मुझे हाल ही में इसी तरह की समस्या का सामना करना पड़ा। मैं एक नेस्टेड घटक पर एक घटना को ट्रिगर करना चाहता था। मेरे पास रेडियो और चेक बॉक्स प्रकार विजेट्स के साथ एक सूची थी (वे divs थे जो चेकबॉक्स और / या रेडियो बटन की तरह व्यवहार किए गए थे) और आवेदन में किसी अन्य स्थान पर, अगर किसी ने टूलबॉक्स बंद कर दिया, तो मुझे एक को अनचेक करना होगा।
मुझे एक बहुत ही सरल उपाय मिला, यकीन नहीं होता कि यह सबसे अच्छा अभ्यास है लेकिन यह काम करता है।
var event = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': false
});
var node = document.getElementById('nodeMyComponentsEventIsConnectedTo');
node.dispatchEvent(event);
इसने डोमनोड पर क्लिक इवेंट को ट्रिगर किया और मेरे हैंडलर को रिएक्शन के जरिए अटैच किया गया था, इसलिए यह ऐसा व्यवहार करता है जैसे मैं उम्मीद करता हूं कि अगर कोई तत्व पर क्लिक करेगा। मैंने onChange का परीक्षण नहीं किया है, लेकिन यह काम करना चाहिए, और यह सुनिश्चित नहीं करना चाहिए कि यह IE के पुराने संस्करणों में कैसे उचित होगा लेकिन मुझे विश्वास है कि माउसएवेंट कम से कम IE9 और ऊपर में समर्थित है।
मैं अपने विशेष उपयोग के मामले के लिए अंततः इससे दूर हो गया क्योंकि मेरा घटक बहुत छोटा था (मेरे आवेदन का केवल एक हिस्सा इस्तेमाल किया गया प्रतिक्रिया के बाद से मैं अभी भी इसे सीख रहा हूं) और मैं डोम नोड्स के संदर्भ प्राप्त किए बिना एक ही चीज़ को प्राप्त कर सकता था।
अपडेट करें:
जैसा कि दूसरों ने टिप्पणियों में कहा है, this.refs.refname
डोम नोड का संदर्भ प्राप्त करने के लिए उपयोग करना बेहतर है । इस मामले में, refname आपके द्वारा अपने घटक से जुड़ी रेफरी है <MyComponent ref='refname' />
।