防止表单元素的默认行为(preventDefault )

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

在 React 组件里使用表单元素,我们经常需要防止表单元素的默认的一些行为,因为需要把元素的控制权交给 React 去处理。

在 AppForm 这个组件里,先添加一组 form 元素,里面再用一个 text 类型的 input ,用 name 给它起个名字,叫 content。下面再添加一个 submit 类型的 input,把它的 value 设置成 提交。

在浏览器预览一下,现在界面上会显示一个表单,里面有两个表单元素,一个文本框,一个提交按钮。在文本框里输入点内容,然后按一下这个提交按钮。默认会打开新的页面,地址是 ? 后面是表单里的一个元素的名字,就是这个 content ,然后是我们在这个表单元素里输入的值。

这就是 form 元素的默认行为,也就是提交表单时,会打开新的地址。要禁用表单元素的这个行为,可以监听一下这个 form 元素的 onSubmit 事件,用 this.onSubmitForm 来处理这个事件。

然后在组件里添加一个类字段,名字是 onSubmitForm,它是一个方法,有个 event 参数,类型是 FormEvent,在方法里可以调用一下 event 参数的 preventDefault() 这个方法,禁用事件的默认行为。在文件顶部,从 react 这个包里把 FormEvent 导入进来。

回到浏览器再测试一下,在文本框里输入点内容,然后按一下提交按钮。因为我们监听了 form 元素的提交事件,并且调用了事件的 preventDefault 方法,这样就会禁用这个元素的提交事件的默认行为,所以这次页面没有刷新,地址也没有变化。

防止表单元素的默认行为(preventDefault )《 React 前端应用开发:表单元素 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点