【发布时间】:2021-12-29 07:19:32
【问题描述】:
我正在使用 bootstrap 和 reactJS 并想构建一个表单。
考虑以下 sn-p:
const CustomForm = () => {
const [alertText, setAlertText] = ('')
const [username, setUsername] = ('');
const handle_submit = () => {
//treat some possible error
setAlertText('some warnings...')
}
return (
<Form>
{alertText && <Alert className='mb-3' variant="warning" >
{alertText}
</Alert>}
<FormGroup className="mb-3">
<FloatingLabel label='username'>
<Form.Control type='text' name='username' placeholder='username' onChange={e => setUsername(e.target.value)} value={username} />
</FloatingLabel>
</FormGroup>
<Button className='float-end' type='submit' variant='outline-primary' onClick={handle_submit} >Submit</Button>
</Form>
)
}
该 sn-p 的问题在于,当按钮被声明为 submit 时,它会自动重新加载页面并清空表单,或者我想在之前处理一些错误,并且只有在没有错误。
如果我将类型声明为button,它工作得很好,但我有点困惑。我想使用submit 属性;我觉得比较合适。
所以我的第一个问题是,我这样认为是对的吗?第二个是,只有在没有错误的情况下,我才需要将表单更改为空?
【问题讨论】:
标签: reactjs react-bootstrap bootstrap-5