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 isArray()函数判断对象类型的种种方法
Oct 11 Javascript
IE6/7/8中Option元素未设value时Select将获取空字符串
Apr 07 Javascript
Javascript处理DOM元素事件实现代码
May 23 Javascript
js综合应用实例简单的表格统计
Sep 03 Javascript
JS实现匀速运动的代码实例
Nov 29 Javascript
jquery 实现两Select 标签项互调示例代码
Sep 25 Javascript
对象转换为原始值的实现方法
Jun 06 Javascript
AngularJS中的DOM操作用法分析
Nov 04 Javascript
如何编写一个d.ts文件的步骤详解
Apr 13 Javascript
vue单页缓存方案分析及实现
Sep 25 Javascript
使用Vue调取接口,并渲染数据的示例代码
Oct 28 Javascript
jQuery 选择器用法基础入门示例
Jan 04 jQuery
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的内置函数,通过DES算法对数据加密和解密
2012/06/21 PHP
php中base64_decode与base64_encode加密解密函数实例
2014/11/24 PHP
详解WordPress开发中的get_post与get_posts函数使用
2016/01/04 PHP
jQuery textarea的长度进行验证
2009/05/06 Javascript
不使用中间变量,交换int型的 a, b两个变量的值。
2010/10/29 Javascript
jQuery(非HTML5)可编辑表格实现代码
2012/12/11 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
2013/11/14 Javascript
jQuery取id有.的值的方法
2014/05/21 Javascript
学习javascript面向对象 理解javascript原型和原型链
2016/01/04 Javascript
基于javascript实现九宫格大转盘效果
2020/05/28 Javascript
全面介绍javascript实用技巧及单竖杠
2016/07/18 Javascript
js实现无缝循环滚动
2020/06/23 Javascript
javascript显示系统当前时间代码
2016/12/29 Javascript
vue项目中的webpack-dev-sever配置方法
2017/12/14 Javascript
从零开始用electron手撸一个截屏工具的示例代码
2018/10/10 Javascript
layer的prompt弹出框,点击回车,触发确定事件的方法
2019/09/06 Javascript
vue实现设置载入动画和初始化页面动画效果
2019/10/28 Javascript
[00:35]DOTA2上海特级锦标赛 MVP.Phx战队宣传片
2016/03/04 DOTA
Python程序设计入门(1)基本语法简介
2014/06/13 Python
python使用sorted函数对列表进行排序的方法
2015/04/04 Python
Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计
2016/07/04 Python
python实现求最长回文子串长度
2018/01/22 Python
Python3.遍历某文件夹提取特定文件名的实例
2018/04/26 Python
python实现数据导出到excel的示例--普通格式
2018/05/03 Python
Python中pandas模块DataFrame创建方法示例
2018/06/20 Python
使用tensorflow实现线性回归
2018/09/08 Python
使用Selenium破解新浪微博的四宫格验证码
2018/10/19 Python
Python操作Sonqube API获取检测结果并打印过程解析
2019/11/27 Python
日本必酷网络直营店:Biccamera
2019/03/23 全球购物
金蝶的一道SQL笔试题
2012/12/18 面试题
班队活动设计方案
2014/01/30 职场文书
学习十八大坚定理想信念心得体会
2014/03/11 职场文书
个人剖析材料及整改措施
2014/10/07 职场文书
大学生考试作弊检讨书1000字
2014/10/14 职场文书
介绍信怎么写
2015/01/30 职场文书
校本研修个人总结
2015/02/28 职场文书