当前位置: 代码网 > it编程>前端脚本>Vue.js > vue中van-picker的选项插槽的使用

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

2024年05月19日 Vue.js 我要评论
van-picker的内部选项怎么来自定义首先要确保 vant ui 的版本在2.10.0以上然后利用插槽slot来实现,在vant 里插槽有一个进阶用法 #<van-picker  :show

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 实例并调用实例方法,不知道的话可以自己先打印出来看看,

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

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com