Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

296
Vistas
diseño de hormiga: actualice el valor marcado de una casilla de verificación dentro de un Form.Item usando Form.setFieldsValue

Tengo un componente React Form que recibe un objeto de estado. El formulario contiene un par de componentes Form.Item, una entrada antd y una casilla de verificación antd. Tengo el siguiente código en mi componente de formulario:

 const RecordsForm = ({ selectedRecord, recordComponentForm }) => { useEffect(() => { debugger; recordComponentForm.setFieldsValue({ Title: selectedRecord ? selectedRecord.Title : null, IsCurrentRecord: selectedRecord ? selectedRecord.IsCurrentRecord : true, }); }, [recordComponentForm, selectedRecord]); return ( <Form name="seasonForm" autoComplete="off" layout={"inline"} form={recordComponentForm} > <Form.Item label="Title" name="Title" rules={[{ required: true, message: "Add a Title" }]} > <Input name="Title" placeholder="Season Title" /> </Form.Item> <Form.Item label="Is Active Record" name="IsCurrentRecord" valuePropName="checked" > <Checkbox name="IsCurrentRecord" /> </Form.Item> </Form> ); }; export default RecordsForm;

donde se crea una instancia del prop recordComponentForm proporcionado en el componente principal: const [recordComponentForm] = Form.useForm();

Cuando ejecuto la aplicación y obligo a este componente a recargar con un nuevo selectedRecord , quiero que el valor de Form.Item Input cambie al Title del objeto y la Checkbox de verificación refleje el valor booleano IsCurrentRecord del objeto. El objeto pasado se ve así:

ingrese la descripción de la imagen aquí

El valor de Entrada de título cambia para mostrar el Título del objeto, sin embargo, la casilla de verificación permanece sin cambios:

ingrese la descripción de la imagen aquí

Me gustaría que la casilla de verificación cambie su valor checked según lo que ingrese en el objeto selectedRecord.IsCurrentRecord de la misma manera que lo hace el Título. Cualquier consejo sería muy apreciado.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Tal vez ... simplemente elimine el name de la casilla de verificación.

 <Form.Item label="Is Active Record" name="IsCurrentRecord" valuePropName="checked" > <Checkbox /> </Form.Item>

La casilla de verificación generalmente devuelve un valor de opciones (no booleano), por lo que quizás debería usar el componente Switch en su lugar. Pero al usar valuePropName="checked" , podríamos obtener valores booleanos de Checkbox.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Este fue simplemente un caso de Form.Items comparten el mismo nombre y el componente secundario que contiene. Una vez que cambié el nombre de Form.Item para Checkbox a algo así como IsCurrentRecord_FI y lo mencioné como tal, comenzó a funcionar.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda