Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

301
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!