位置:- 正文

《uni-app》表单组件-form表单(uni-app list)

编辑:rootadmin
《uni-app》表单组件-form表单

推荐整理分享《uni-app》表单组件-form表单(uni-app list),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:uni-app表单提交,uni-app list,uni-app表单提交,uni-app list,uni app table,uniapp 表单,uni-app表格,uni-app表格,内容如对您有帮助,希望把文章链接给更多的朋友!

本文分享的Form组件为uni-app的内置组件Form,非扩展组件,两者在用法上其实大同小异,只是扩展组件的属性以及事件更多…没有本质上的区别~

《uni-app》表单组件-form表单一. 简介二. 基础用法三. @submit事件四. @reset事件五. report-submit属性与report-submit-timeout属性六. 注意事项6.1 校验功能七. demo示例演示7.1 场景说明7.2 demo实现代码八. 小结一. 简介

From,表单组件,具有数据收集、提交数据的功能,某种程度上说它就是一个 容器,这个容器内部可以有 input 、checkbox、radio 、picker 等组件填充,原则上所有的表单组件都必须置入from组件,再通过form组件收集内部组件数据并将内容通过接口发送至后台接收~ 通过描述我们可以看出form表单在业务场景中 主要承担的职责 是一个 信息录入 的职能,换句话说,所有信息录入的功能都可以考虑使用form表单来实现,如注册,账号找回,个人信息填写,问卷调查等等~

二. 基础用法

基础用法如下:

<form></form>

form和绝大多数标签一样是 双标签 的,也就是说它具有闭合标签,因此书写标签时不可遗漏闭合标签,如下这种即是 错误示例:

<!--- 错误示例 ---><form />

但这个只是容器,实际开发中不可能会这么使用,毕竟不会有哪个业务场景只有一个壳,而壳里面啥内容都没有,常规示例代码如下:

<form> <view class="form-group"><input placeholder="请输入姓名" /></view> <view class="form-group"> <radio-group > <radio>男</radio> <radio>女</radio> </radio-group> </view></form>

示例代码中form组件作为容器,内部具有input输入框以及radio单选框存在,其表现形态 效果图 如下:

三. @submit事件

@submit事件,触发后用于 收集内部组件信息,事件说明如下:

属性名类型说明平台差异说明@submitEventHandle携带 form 中的数据触发 submit 事件,event.detail = {value : {‘name’: ‘value’} , formId: ‘’},report-submit 为 true 时才会返回 formId《uni-app》表单组件-form表单(uni-app list)

示例代码如下:

<form @submit="formSubmit"> <view class="form-group"><input placeholder="请输入姓名" /></view> <view class="form-group"> <radio-group > <radio>男</radio> <radio>女</radio> </radio-group> </view> <!-- 新增button按钮触发submit事件 --> <view class="form-group"><button form-type="submit">Submit</button></view></form><script>export default {methods: {formSubmit: function(e) {console.log(e);;}}};</script>

将from组件绑定 @submit 事件,其值对应一个函数,再通过将 button 的 form-type 设置成 submit 即可实现点击按钮时 联动触发form表单的submit事件,其表现形态 效果图 如下:

其实,到这里还没有完成,当我们按照说明去使用的时候,发现e.detail中并没有如期望的那般获取到对应的值,具体内容如下图

detail中并没有如说明中存在的对应的值,原因是因为form内部的组件必须加上 name属性,示例代码如下:

<form @submit="formSubmit"> <view class="form-group"><input name="input" placeholder="请输入姓名" /></view> <view class="form-group"> <radio-group name="radio"> <radio value="man">男</radio> <radio value="woman">女</radio </radio-group> </view> <!-- 新增button按钮触发submit事件 --> <view class="form-group"><button form-type="submit">Submit</button></view></form>

给 input 和 radio 都加上 name属性,加上后其结果如下:

如说明所说,正常获取到预期的值了;

四. @reset事件

@reset事件,触发后用于 重制内部组件的值,换句话说,相当于把内部组件的值都给清空掉,事件说明如下:

属性名类型说明平台差异说明@resetEventHandle表单重置时会触发 reset 事件

用法和submit基本类似,示例代码如下:

<form @reset="formReset"> <view class="form-group"><input name="input" placeholder="请输入姓名" /></view> <view class="form-group"> <radio-group name="radio"> <radio value="man">男</radio> <radio value="woman">女</radio> </radio-group> </view> <!-- 新增button按钮触发reset事件 --> <view class="form-group"><button form-type="reset">reset</button></view></form>

其表现形态 效果图 如下:

同时,@reset对应的事件会在组件的值被清空时同时触发,如现在有一个reset事件,触发时同时弹出弹窗,示例代码如下:

<script>export default {methods: {formReset: function(e) {console.log(e);uni.showModal({content: '触发重制'});}}};</script>

其表现形态 效果图 如下:

五. report-submit属性与report-submit-timeout属性

report-submit属性 与 report-submit-timeout属性,这是一对 应用于微信小程序中模板消息的属性,属性说明如下:

属性名类型说明平台差异说明report-submitBoolean是否返回 formId 用于发送模板消息(opens new window)微信小程序、支付宝小程序report-submit-timeoutnumber等待一段时间(毫秒数)以确认 formId 是否生效。如果未指定这个参数,formId 有很小的概率是无效的(如遇到网络失败的情况)。指定这个参数将可以检测 formId 是否有效,以这个参数的时间作为这项检测的超时时间。如果失败,将返回 requestFormId:fail 开头的 formId微信小程序2.6.2

简单的说,通过页面的 form 组件,属性 report-submit 为 true 时,可以

本文链接地址:https://www.jiuchutong.com/zhishi/289588.html 转载请保留说明!
下一篇链接:https://www.jiuchutong.com/zhishi/289589.html
免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络