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 相关文章推荐
自己动手制作jquery插件之自动添加删除行的实现
Oct 13 Javascript
js冒泡、捕获事件及阻止冒泡方法详细总结
May 08 Javascript
详解JavaScript中shift()方法的使用
Jun 09 Javascript
JavaScript实现网站访问次数统计代码
Aug 12 Javascript
学习JavaScript设计模式之策略模式
Jan 12 Javascript
prototype.js常用函数详解
Jun 18 Javascript
RequireJS多页面应用实例分析
Jun 29 Javascript
jQuery插件echarts实现的多折线图效果示例【附demo源码下载】
Mar 04 Javascript
jquery.validate.js 多个相同name的处理方式
Jul 10 jQuery
vue下拉列表功能实例代码
Apr 08 Javascript
Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
Jun 24 Javascript
Vue.js实现立体计算器
Feb 22 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 缩略图实现函数代码
2011/06/23 PHP
无JS,完全php面向过程数据分页实现代码
2012/08/27 PHP
php实现读取内存顺序号
2015/03/29 PHP
window.location不跳转的问题解决方法
2014/04/17 Javascript
jQuery异步验证用户名是否存在示例代码
2014/05/21 Javascript
基于jQuery实现表单提交验证
2014/11/24 Javascript
chrome不支持form.submit的解决方案
2015/04/28 Javascript
jQuery.ajax实现根据不同的Content-Type做出不同的响应
2016/11/03 Javascript
package.json文件配置详解
2017/06/15 Javascript
vue中的计算属性的使用和vue实例的方法示例
2017/12/04 Javascript
深入理解与使用keep-alive(配合router-view缓存整个路由页面)
2018/09/25 Javascript
JavaScript 判断iPhone X Series机型的方法
2019/01/28 Javascript
一些可能会用到的Node.js面试题
2019/06/15 Javascript
Ajax请求时无法重定向的问题解决代码详解
2019/06/21 Javascript
[59:44]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 paiN vs iG
2018/03/31 DOTA
gearman的安装启动及python API使用实例
2014/07/08 Python
跟老齐学Python之大话题小函数(2)
2014/10/10 Python
python实现根据月份和日期得到星座的方法
2015/03/27 Python
Python3多线程操作简单示例
2018/05/22 Python
python检测文件夹变化,并拷贝有更新的文件到对应目录的方法
2018/10/17 Python
浅谈Python中的bs4基础
2018/10/21 Python
解决python3读取Python2存储的pickle文件问题
2018/10/25 Python
Python3中的最大整数和最大浮点数实例
2019/07/09 Python
python序列类型种类详解
2020/02/26 Python
科颜氏法国官网:Kiehl’s法国
2019/08/20 全球购物
Fabletics官网:美国运动服饰品牌,由好莱坞女演员凯特·哈德森创立
2019/10/19 全球购物
SQL语言面试题
2013/08/27 面试题
成人教育自我鉴定
2013/11/01 职场文书
主管职责范文
2013/11/09 职场文书
实习生自我鉴定范文
2013/12/05 职场文书
会议开场欢迎词
2014/01/15 职场文书
我的五年职业生涯规划
2014/01/23 职场文书
爱情保证书
2015/01/17 职场文书
文明礼貌主题班会
2015/08/14 职场文书
Pandas数据结构之Series的使用
2022/03/31 Python
PostgreSQL聚合函数介绍以及分组和排序
2022/04/12 PostgreSQL