vant 验证手机号_【uni app】vant weapp的引入和部分详细调用(表单输入框、验证码、弹出层搭配选择器、地图)...
本次小程序的开发使用uni app+vant weapp,vant weapp如何引用和部分组件使用方法如下
引入
在github(https://github.com/youzan/vant-weapp)下载dist文件,在项目目录下创建wxcomponents/vant,把dist文件复制进来
在pages.json中,如果很多个页面都会引用某组件,就在globalstyle中引入
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "uni-app",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8",
"usingComponents": {
"van-button": "/wxcomponents/vant/button/index",
"van-icon": "/wxcomponents/vant/icon/index",
"van-cell": "/wxcomponents/vant/cell/index"
}
}
单页引用,在对应页的style中
{
"path": "pages/home/home",
"style": {
"navigationBarTitleText": "首页",
"usingComponents": {
"van-button": "/wxcomponents/vant/button/index",
"van-icon": "/wxcomponents/vant/icon/index"
}
}
}
表单
UI界面如下
输入框van-filed
注意:van-field并没有直接实现双向绑定,需要在input事件上重新赋值
//模板中
//js中
methods:{
getDeviceSn(e) {
this.updateParam.deviceSn = e.detail
},
}
精简写法如下
登录验证码
点击后
template
@input="inputCode">
{{tip}}
在data中定义两个变量
timer: null,
tip: '发送验证码'
methods
sendCode() {
let time = 10
this.tip = time + 's后重试'
this.timer = setInterval(() => {
if (time === 1) {
this.tip = '发送验证码'
clearInterval(this.timer)
this.timer = null
} else {
time--
this.tip = time + 's'
}
}, 1000)
},
弹出层+选择器
弹出层van-popop和选择器van-picker配合使用,实现效果如下
代码
// template
// methods
chooseOrg(e) {
this.updateParam.orgId = e.detail.value.id
this.orgName = e.detail.value.name
this.popupFlag = fasle
this.getMemberList(this.updateParam.orgId)
},
在vant-weapp中,简单选择器的实现需要定义三个变量,1个方法:
变量1:数组,即在选择器中遍历的数组
变量2:flag,控制弹出层的显示和隐藏
变量3:van-field中的value,即你选中项的文字说明
方法1:当你点击确认时,把选中项的id放入表单,文字说明改成你选中项的名字
用vant weapp选择器优点:
我们可以控制弹出层的方向
样式层面上的铺垫和圆角弹出层
vant有日期事件选择器
跨移动端平台
缺点:
当你一个表单有多个选择器的时候,那其中的变量就需要定义很多
很多工作是重复比如打开弹出层关闭弹出层
对比uni或小程序原生picker选择器,只要一个变量和一个方法,但是用了样式又不统一了
因此需要自己基于vant-weapp封装一个选择器,封装组件请查看另一篇笔记
省市区picker van-area
showAreaPopup() {
this.areaFlag = true
},
closeAreaPopup() {
this.areaFlag = false
},
chooseArea(e) {
this.updateParam.areaCode = e.detail.values[2].code
this.areaName = e.detail.values[0].name + ',' + e.detail.values[1].name + ',' + e.detail.values[2].name
this.closeAreaPopup()
},
地图
获取当前位置
getGps() {
let self = this
uni.getLocation({
type: 'wgs84',
success: function(res) {
self.gps = res.longitude + ',' + res.latitude
self.updateParam.gpsLng = res.longitude
self.updateParam.gpsLat = res.latitude
}
});
},
选择位置,代码和效果如下
showMapPopup() {
let self = this
uni.chooseLocation({
success: function (res) {
self.gps = res.longitude + ',' + res.latitude
self.updateParam.gpsLng = res.longitude
self.updateParam.gpsLat = res.latitude
self.updateParam.addressDetail = res.name
}
});
},
vant 验证手机号_【uni app】vant weapp的引入和部分详细调用(表单输入框、验证码、弹出层搭配选择器、地图)...相关推荐
- vant 验证手机号_手机维修英汉小辞典(V字头1:VA-VB)
V-volt 伏特 V-DCSLNA 1800MHz 低噪声放大器供电 V-GSMLNA 900MHz 低噪声放大器供电 V-ANA 多模转换器电源 V-ANT Voltage Antenna 天线供 ...
- vue vant Popup 弹出层 与 Picker 选择器 的完美结合 实现多级列表选择
前言: 在写项目的时候,经常会碰到选择列表,为了更完美的实现效果,使用了vant里面的 Popup 弹出层 + Picker 选择器 效果图: 页面结构: van-field 是vant里面的输入框组 ...
- 小程序UI组件 Vant Weapp Popup弹出层和Picker选择器 组合使用按钮被遮盖恢复不了的问题
Vant Weapp Popup弹出层和Picker选择器 组合使用, 如果picker在popup上存在滚动条, 在开发者工具上鼠标可以滚动还原picker的确认和取消按钮位置, 但是在真机上,把p ...
- 微信小程序 - vant popup弹出层阻止底层页面滑动
前言 在小程序编写过程当中使用使用vant weapp的popup组件作小程序的弹出层,触屏致使底层页面跟着滑动.web 解决方法 使用touch事件阻止属性,@touchmove.stop.prev ...
- vant popup弹出层多选功能
一.效果图 二.代码块 <template><div><van-button @click="btn" size="mini"&g ...
- 小程序中input标签没有反应_解决微信小程序弹出层中input无法聚焦的问题
此处使用的是vant框架 解决聚焦问题 这里遇到的问题是,在点击搜索框后,设置了弹起的弹出层中van-search的foucs值为true 但是没有起到聚焦效果 原因在于弹出框带有一个动画效果,需要在 ...
- uni-app里的拓展组件uni ui与UI框架uView UI的Popup 弹出层的区别!
uni-app里的拓展组件uni ui与UI框架uView UI的Popup 弹出层的区别! 文章目录 1.官网Popup 弹出层链接 2.属性不同 3.属性对照 4.弹出的方式 5.uView特有属 ...
- JavaScript学习笔记(九)(验证框架,layer弹出层)
JavaScript学习笔记(九) 一.jQuery Validate验证框架 1.引入相关插件路径 2. 修改一些规则 3. 自定义验证规则 4.异步验证 整体代码 二.layer弹出层 1.引入相 ...
- ajax如何实现表单验证码,Ajax实现提交表单时验证码自动验证(原创自Zjmainstay)...
本文通过源码展示如何实现表单提交前,验证码先检测正确性,不正确则不提交表单,更新验证码. 1.前端代码 index.html 验证码提交自验证 用户名 验证码 (function($){ $(docu ...
最新文章
- struts2登录后返回登录前的页面
- 关于Redis的数据迁移(三种方法)
- [ webpack4 ] 配置属于自己的打包系统教程(最终篇)—— 环境配置篇
- 更多Java之行内容,需要看直播请关注微薄
- 改进博客园Markdown显示功能(加代码行号、显示代码所用编程语言)
- 用Python生成随机的中文验证码图片
- VC中海量文件读写类设计与应用(转)
- Mybatis 高级结果映射 ResultMap Association Collection
- 前端优化-Img与background
- (最短路 Floyd diskstra prim)Frogger --POJ--2253
- 复盘!12 小时清掉 3500 份生财日历
- 四、Hyper-v Server 2008r2 设置远程管理
- Dump获取和分析工具简介
- 联想 m73 黑苹果 软路由 esxi AIO
- 公司内外网同时使用方法
- openGL之API学习(二零四)GL_TEXTURE_MIN_FILTER GL_TEXTURE_MAG_FILTER
- 我是 SPI,我让框架更加优雅了!
- Interactive Sketch-Based Normal Map Generation with Deep Neural Networks
- 渗透测试常见问题以及方法
- 国内有哪些小众但很有意思的网站?这6个网站值得收藏
热门文章
- 用命令导出导入数据库常见操作
- 防止短信接口验证码恶意攻击
- 通讯录最终版——动态存储+文件处理
- 我用废旧的Android手机做了个机器人
- let、const和var的区别(涉及块级作用域)
- Skia深入分析7——区域解码
- “我想玩游戏!” 大佬:玩啥游戏,教你做一个智能贪吃蛇游戏!
- Cheese Cheese! ――BeijingOpenParty 2009.07“Sea viewing at Summer gloaming(夏暮观海)”后记
- 常用类型的json格式
- 操作系统-读者写者问题(写者优先)