vue vant中picker组件的使用


Posted in Javascript onNovember 03, 2020

1、引入

import { Picker } from 'vant'

2、使用

components: {
 vanPicker: Picker,
 }

3、渲染

<van-picker
 show-toolbar
 :columns="columns"
 value-key="text"
 />

4、将值push到columns

//注意的点vant默认的是text,如果你需要修改需要value-key="你要定义的名字",否则不会渲染
 this.columns = [
  {
  siteState: 1,
  text: "装机开业"
  },
  {
  siteState: 2,
  text: "装机停业"
  },
  {
  siteState: 3,
  text: "未装机开业"
  },
  {
  siteState: 4,
  text: "未装机停业"
  },
  {
  siteState: 5,
  text: "其他"
  }
 ];

补充知识:vant-ui之Field输入框和Picker结合使用时,如何绑定正确的id类型的值的问题。

很常见的需求:

表单中的一项,需要从picker控件中选择正确的值后,展示的是字符串,然后提交到后台服务器的则是字符串对应的value类型的值的问题。

vue vant中picker组件的使用

点击表单的档案组,弹出Picker选择组件,选择正确的值,填充到表单项,但是,提交到服务器去,需要提交对应的id,而不是看到的字符串。

如何实现?

实现方式一:

定义两个属性,classId和className, 她两是一 一对应的关系。

data() {
 return {
 classId: -1,
 className: "全部",
 columns: [
 { text: '全部', value: -1 },
 { text: '未分组', value: 0 },
 { text: '访客', value: 1 },
 ],
 },
}

van-field中绑定className

<van-field
  readonly
  clickable
  name="picker"
  :value="className"
  label="档案组"
  placeholder=""
  @click="showClassPicker = true"
 />

然后在van-picker中,绑定的confirm函数,参数获取到的是一个对象。

在这个函数内,同时更新className和classId,保证他俩一 一对应。

<van-popup v-model="showClassPicker" position="bottom">
 <van-picker
 show-toolbar
 :columns="columns"
 @confirm="onClassConfirm"
 @cancel="showClassPicker = false"
 />
 </van-popup>
onClassConfirm(v) {
 this.classId = v.value;
 this.className = v.text;
 this.showClassPicker = false;
 },

这样就可以了。用户在表单中看到的是字符串,而提交给后台的,则是与这个字符串一 一对应的id值。

方式二:

van-field中依然还是使用value类型的值,只是需要给这个值,一个filter过滤器,转换为正确的字符串显示,但是提交给后台的,却是value类型的值,譬如id

以上这篇vue vant中picker组件的使用就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript事件问题
Sep 05 Javascript
改善你的jQuery的25个步骤 千倍级效率提升
Feb 11 Javascript
jQuery判断元素是否是隐藏的代码
Apr 24 Javascript
原生javascript实现Tab选项卡切换功能
Jan 12 Javascript
jQuery模拟360浏览器切屏效果幻灯片(附demo源码下载)
Jan 29 Javascript
动态加载js、css的实例代码
May 26 Javascript
Vue方法与事件处理器详解
Dec 01 Javascript
socket.io学习教程之深入学习篇(三)
Apr 29 Javascript
Vue-router 中hash模式和history模式的区别
Jul 24 Javascript
vue2.x集成百度UEditor富文本编辑器的方法
Sep 21 Javascript
VUE使用axios调用后台API接口的方法
Aug 03 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
Oct 02 Javascript
vue-amap根据地址回显地图并mark的操作
Nov 03 #Javascript
ant-design-vue中tree增删改的操作方法
Nov 03 #Javascript
Vue+Vant 图片上传加显示的案例
Nov 03 #Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
Nov 03 #Javascript
antd中table展开行默认展示,且不需要前边的加号操作
Nov 02 #Javascript
React Ant Design树形表格的复杂增删改操作
Nov 02 #Javascript
vue缓存之keep-alive的理解和应用详解
Nov 02 #Javascript
You might like
PHP中for循环语句的几种变型
2006/11/26 PHP
通用PHP动态生成静态HTML网页的代码
2010/03/04 PHP
解析如何去掉CodeIgniter URL中的index.php
2013/06/25 PHP
一个PHP实现的轻量级简单爬虫
2015/07/08 PHP
thinkphp框架使用JWTtoken的方法详解
2019/10/10 PHP
基于JQuery的一句代码实现表格的简单筛选
2010/07/26 Javascript
js 获取计算后的样式写法及注意事项
2013/02/25 Javascript
密码框显示提示文字jquery示例
2013/08/29 Javascript
JQuery以JSON方式提交数据到服务端示例代码
2014/05/05 Javascript
JavaScript用Number方法实现string转int
2014/05/13 Javascript
遮罩层点击按钮弹出并且具有拖动和关闭效果(两种方法)
2015/08/20 Javascript
jQuery中on绑定事件后引发的事件冒泡问题如何解决
2016/05/25 Javascript
jQuery实现指定区域外单击关闭指定层的方法【经典】
2016/06/22 Javascript
详解jQuery中基本的动画方法
2016/12/14 Javascript
JavaScript的for循环中嵌套一个点击事件的问题解决
2017/03/03 Javascript
JS中showModalDialog关闭子窗口刷新主窗口用法详解
2017/03/25 Javascript
原生JS+Canvas实现五子棋游戏实例
2017/06/19 Javascript
JS实现页面打印(整体、局部)
2017/08/18 Javascript
vue技术分享之你可能不知道的7个秘密
2018/04/09 Javascript
详解js 创建对象的几种方法
2019/03/08 Javascript
uni-app实现获取验证码倒计时功能
2020/11/01 Javascript
python使用递归解决全排列数字示例
2014/02/11 Python
Python中几种操作字符串的方法的介绍
2015/04/09 Python
Python的Django框架中自定义模版标签的示例
2015/07/20 Python
django 开发忘记密码通过邮箱找回功能示例
2018/04/17 Python
python 通过logging写入日志到文件和控制台的实例
2018/04/28 Python
Python实现自定义读写分离代码实例
2019/11/16 Python
pycharm 设置项目的根目录教程
2020/02/12 Python
物业保安员岗位职责
2014/03/14 职场文书
教师节活动总结
2014/08/29 职场文书
罚款通知怎么写
2015/04/22 职场文书
2016三八妇女节慰问信
2015/11/30 职场文书
2019销售早会主持词
2019/06/27 职场文书
创业计划书之酒厂
2019/10/14 职场文书
怎么禁用Windows 11快照布局? win11不使用快照布局的技巧
2021/11/21 数码科技
集英社今正式宣布 成立游戏公司“集英社Games”
2022/03/31 其他游戏