I have a form with fields. If RiskType field is ILI and at the same time 'Limit Type' field is I or Y, then
The Settlement drop down list is inserted
my question is how to make the netSettlement variable set value the first option in select. If this form has been inserted in the DOM (logically, if the form is not inserted, the value is not set)
{(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>
}
CodePudding user response:
You'll want to add the selected attribute to the option that you want pre-selected when the form is loaded:
<option selected value="true">True</option>
<option value="false">False</option>
Also, you will want to set the value attribute with the actual value you want to submit.
CodePudding user response:
You do not have values in options at all. If you're receiving Boolean value for netSettlement try this
{
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>
);
}
