Tengo un formulario con campos. Si el campo RiskType es ILI y, al mismo tiempo, el campo 'Limit Type' es I o Y, entonces se inserta la lista desplegable Settlement . Mi pregunta es cómo hacer que el valor establecido de la variable netSettlement sea la primera opción en select. Si este formulario se ha insertado en el DOM (lógicamente, si no se inserta el formulario, el valor no se establece)
{(riskType === 'ILI' && (limitType === 'Y' || limitType === 'I')) && <Form.Row> <Form.Group controlId='formGridNetSettlement'> <Form.Label>Settlement</Form.Label> <Form.Control name='netSettlement' as='select' value={netSettlement} onChange={e => {setNetSettlement(e.currentTarget.value)} } required={!isSearch}> <option>True</option> <option>False</option> </Form.Control> </Form.Group> </Form.Row> }Deberá agregar el atributo selected a la opción que desea preseleccionar cuando se carga el formulario:
<option selected value="true">True</option> <option value="false">False</option> Además, querrá establecer el atributo de value con el valor real que desea enviar.
No tienes valores en opciones en absoluto. Si está recibiendo un valor booleano para netSettlement intente esto
{ riskType === "ILI" && (limitType === "Y" || limitType === "I") && ( <Form.Row> <Form.Group controlId="formGridNetSettlement"> <Form.Label>Settlement</Form.Label> <Form.Control name="netSettlement" as="select" value={netSettlement.toString()} onChange={(e) => { setNetSettlement(e.currentTarget.value); }} required={!isSearch} > <option value="true">True</option> <option value="false">False</option> </Form.Control> </Form.Group> </Form.Row> ); }