Estoy buscando enviar el valor de Form.Control al botón para poder hacer algo de lógica, pero parece que no puedo obtener este valor de la entrada. Intenté usar reft pero no puedo usar refs en un componente funcional, así que estoy usando textInput. Por favor ayuda, he estado atascado durante 3 días. gracias
import React from "react"; import { Modal, Form, Row, Col, Button } from "react-bootstrap"; import "./Login.css"; export const ForgotPassword = (props) => { let textInput = null; const handleClick = () => { console.log("i am here", textInput.focus()); }; return ( <> <Modal {...props} aria-labelledby="contained-modal-title-vcenter" centered > <Modal.Header closeButton> <Modal.Title id="contained-modal-title-vcenter"> Forgot Password </Modal.Title> </Modal.Header> <Modal.Body className="show-grid"> <Form.Label>Please enter your Employee ID.</Form.Label> <Row> <Col className="lm-qus" md={5}> Employee ID: </Col> <Col md={7}> <Form.Control type="text" required name="answer" placeholder="" ref={(input) => { textInput = input; }} /> </Col> </Row> </Modal.Body> <Modal.Footer> <Button onClick={props.onHide}>Cancel</Button> <Button onClick={handleClick} type="submit"> Continue </Button> </Modal.Footer> </Modal> </> ); }; 
Este no es un problema modal específico. Haga que su Form.Control sea una entrada controlada al proporcionar el atributo "valor". Defina el estado y establezca este estado en el evento de cambio de la entrada. Luego puede acceder a este estado en todas partes, incluido el botón:
const [value, setValue] = React.useState(""); const handleChange = (event) => setValue(event.target.value); const handleClick = () => alert(value);