คุณสามารถใช้ref
prop เพื่อรับข้อมูลอ้างอิงไปยังอ็อบเจ็กต์HTMLInputElement ที่อยู่ภายใต้การเรียกกลับจัดเก็บการอ้างอิงเป็นคุณสมบัติคลาสจากนั้นใช้การอ้างอิงนั้นเพื่อทริกเกอร์การคลิกจากตัวจัดการเหตุการณ์ของคุณในภายหลังโดยใช้เมธอดHTMLElement.click
ในrender
วิธีการของคุณ:
<input ref={input => this.inputElement = input} ... />
ในตัวจัดการเหตุการณ์ของคุณ:
this.inputElement.click();
ตัวอย่างเต็ม:
class MyComponent extends React.Component {
render() {
return (
<div onClick={this.handleClick}>
<input ref={input => this.inputElement = input} />
</div>
);
}
handleClick = (e) => {
this.inputElement.click();
}
}
สังเกตฟังก์ชันลูกศร ES6ที่ให้ขอบเขตคำศัพท์ที่ถูกต้องสำหรับthis
ในการเรียกกลับ นอกจากนี้โปรดทราบว่าวัตถุที่คุณได้รับด้วยวิธีนี้เป็นวัตถุที่คล้ายกับสิ่งที่คุณจะได้รับโดยใช้document.getElementById
เช่น DOM-node ที่แท้จริง