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 相关文章推荐
srcElement表格样式
Sep 03 Javascript
javascript parseInt 函数分析(转)
Mar 21 Javascript
jquery 与NVelocity 产生冲突的解决方法
Jun 13 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
Sep 14 Javascript
Node.js中的模块机制学习笔记
Nov 04 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
Jan 07 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
Jun 15 Javascript
AngularJS中的JSONP实例解析
Dec 01 Javascript
jQuery操作css样式
May 15 jQuery
vue自定义全局共用函数详解
Sep 18 Javascript
浅谈Layui的eleTree树式选择器使用方法
Sep 25 Javascript
html-webpack-plugin修改页面的title的方法
Jun 18 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
Terran热键控制
2020/03/14 星际争霸
PHP新手上路(七)
2006/10/09 PHP
PHP优于Node.js的五大理由分享
2012/09/15 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
2014/09/02 PHP
thinkphp微信开发(消息加密解密)
2015/12/02 PHP
PHP设计模式之适配器模式定义与用法详解
2018/04/03 PHP
基于jquery的一个简单的脚本验证插件
2010/04/05 Javascript
javascript轻松实现当鼠标移开时已弹出子菜单自动消失
2013/12/29 Javascript
简单的代码实现jquery定时器
2014/01/03 Javascript
JS实现文字链接感应鼠标淡入淡出改变颜色的方法
2015/02/26 Javascript
详解jQuery移动页面开发中的ui-grid网格布局使用
2015/12/03 Javascript
AngularJS中处理多个promise的方式
2016/02/02 Javascript
理解javascript函数式编程中的闭包(closure)
2016/03/08 Javascript
Vue.js第一天学习笔记(数据的双向绑定、常用指令)
2016/12/01 Javascript
vue中如何实现变量和字符串拼接
2017/06/19 Javascript
nodejs动态创建二维码的方法
2017/08/12 NodeJs
JS数组实现分类统计实例代码
2018/09/30 Javascript
详解如何在Javascript和Sass之间共享变量
2019/11/13 Javascript
vue 实现基础组件的自动化全局注册
2020/12/25 Vue.js
ES6的循环与可迭代对象示例详解
2021/01/31 Javascript
Python中关于使用模块的基础知识
2015/05/24 Python
django 修改server端口号的方法
2018/05/14 Python
Python 如何优雅的将数字转化为时间格式的方法
2019/09/26 Python
win10下安装Anaconda的教程(python环境+jupyter_notebook)
2019/10/23 Python
如何给Python代码进行加密
2020/01/10 Python
如何基于Python Matplotlib实现网格动画
2020/07/20 Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
2020/12/07 Python
CSS3系列教程:背景图片(背景大小和多背景图) 应用说明
2012/12/19 HTML / CSS
简单介绍HTML5中的文件导入
2015/05/08 HTML / CSS
有影响力的人、名人和艺术家的官方商品:Represent
2019/11/26 全球购物
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
火山动力Java笔试题
2014/06/26 面试题
幼儿园教师教学反思
2014/02/06 职场文书
委托证明范本
2014/11/25 职场文书
党员证明信
2015/06/19 职场文书
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
2021/04/06 Oracle