vue中van-picker的选项插槽的使用

 更新时间:2023年01月18日 10:28:34   作者:超级大帅比  
这篇文章主要介绍了vue中van-picker的选项插槽的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

van-picker的内部选项怎么来自定义

首先要确保 Vant UI 的版本在2.10.0以上

然后利用插槽slot来实现,在Vant 里插槽有一个进阶用法 #

<van-picker
  :show-toolbar="false"
  :default-index="2" // 默认选中第三行,选中第一行的话,上面会有一段空白,不好看
  :loading="loading"
  :columns="columns" // 一定要绑定数据源
>
  <template #option="item"> // 这里的item就是每一个选项,可以是一个对象也可以是一个字符串
  // 我这里实现的是每一行的选项由id和name组成
  // 切记不要用v-for,会导致数据重复出现在一个选项里
    <van-row>
      <van-col :span="12" class="van-hairline--right">
        <p style="text-align: center">
          {{ item.id }}
        </p>
      </van-col>
      <van-col :span="12" class="van-hairline--left">
        <p style="text-align: center">
          {{ item.name }}
        </p>
      </van-col>
    </van-row>
  </template>
</van-picker>

附上Vant的官方地址:https://vant-contrib.gitee.io/vant/#/zh-CN/home

Vant选择器使用插槽

官方提供样式满足不了自己需要的样式时可以使用插槽可以自定义布局样式:

我这里配合了popup弹窗层使用,具体看自己的需求

 <van-popup v-model="sexShow" position="bottom" :style="{ height: '50%' }">
      <van-picker :show-toolbar="true" :columns="columns" ref="getValues" @confirm="onConfirm">
        <template #cancel="item">
          <p>
            性别
          </p>
        </template>
        <template #confirm="item">
          <div class="sexContent">
            <!-- <van-button class="submit">保存</van-button> -->
            <van-button class="submited">保存</van-button>
          </div>
        </template>
        <template #option="item">
          <p style="text-align: center">
            {{item.text}}
          </p>
        </template>
      </van-picker>
    </van-popup>
columns: [{
     text: '男',
       value: 1
     },
     {
       text: '女',
       value: 2
     }],

方法:

 onConfirm(value) {
     console.log(value)   //打印的是自己定义的数组对象,然后就可以进行自己的相关操作了
   },

另外:

this.$refs.getValues.getValues()

是通过 ref 可以获取到 Picker 实例并调用实例方法,不知道的话可以自己先打印出来看看,

虽然简单,但是也是第一次遇到,记录一下下,以免忘记(我的记忆只有七秒,忘得快)

下面是效果图,有点丑,勿喷

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 基于Vue的商品主图放大镜方案详解

    基于Vue的商品主图放大镜方案详解

    这篇文章主要介绍了基于 Vue 的商品主图放大镜方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Vue中的nextTick方法详解

    Vue中的nextTick方法详解

    Vue的nextTick方法是用来在下次DOM更新周期中执行回调函数的方法,用于DOM操作后获取DOM更新后的状态,使用场景包括异步更新DOM、获取更新后元素的位置等情况,一般结合Vue的异步更新机制和watch监听器使用,实现方式可使用Promise、setTimeout等异步方法
    2023-04-04
  • Vue3使用全局函数或变量的2种常用方式代码

    Vue3使用全局函数或变量的2种常用方式代码

    在Vue3项目中需要频繁使用某一个方法,配置到全局感觉会方便很多,这篇文章主要给大家介绍了关于Vue3使用全局函数或变量的2种常用方式,需要的朋友可以参考下
    2023-09-09
  • Vue判断字符串(或数组)中是否包含某个元素的多种方法

    Vue判断字符串(或数组)中是否包含某个元素的多种方法

    在我们前端日常开发中经常会遇到判断一个字符串中是否包含某个元素的需求,下面这篇文章主要给大家介绍了关于Vue判断字符串(或数组)中是否包含某个元素的多种方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • vue.js默认路由不加载linkActiveClass问题的解决方法

    vue.js默认路由不加载linkActiveClass问题的解决方法

    这篇文章主要给大家介绍了关于vue.js默认路由不加载linkActiveClass问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-12-12
  • 在vue中高德地图引入和轨迹的绘制的实现

    在vue中高德地图引入和轨迹的绘制的实现

    这篇文章主要介绍了在vue中高德地图引入和轨迹的绘制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • 详解Vue.js入门环境搭建

    详解Vue.js入门环境搭建

    这篇文章主要介绍了详解Vue.js入门环境搭建,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • vue 动态给每个页面添加title、关键词和描述的方法

    vue 动态给每个页面添加title、关键词和描述的方法

    这篇文章主要介绍了vue 动态给每个页面添加title、关键词和描述的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Vue3实现计算属性的代码详解

    Vue3实现计算属性的代码详解

    计算属性对于前端开发来说算是经常使用的一个能力了,本文将从代码层面来给大家介绍下Vue3是如何实现计算属性的,需要的朋友可以参考下
    2023-07-07
  • vue+video.js实现视频播放列表

    vue+video.js实现视频播放列表

    这篇文章主要为大家详细介绍了vue+video.js实现视频播放列表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10

最新评论