vantUI就不多做介绍了,是一个相对来说比较好用的ui组件库,下面是地址大家可以自己去看看:
https://youzan.github.io/vant/#/zh-CN/actionsheet
接下来我们直接进入正题,在这个demo当中我是将这个弹出层封装成为一个组件,来供定义的页面去调用的,所以我们首先要做的就是先定义一个页面,在定义一个组件:下面是代码:
<template> <view class="container"> <image src="/UploadFiles/2021-04-02/{{localUser.avatarUrl}}">以上就是定义页面的及其属性方法的代码,下面我们来看一下相应组件的代码:
<template> //同样我们先去定义模板 //showPopup 就是传递进来控制显示与不显示的值 //onclose方法则是主动关闭弹出层 //position控制的则是从底部弹出 <van-popup show="{{ showPopup }}" bind:close="onPopup" position="bottom"> <van-radio-group value="{{ lastSchool.id }}"> <van-cell-group> //对赋值的数组进行遍历 <repeat for="{{ locationList }}"> //定义一个点击之间去调用我们再父组件当中绑定定义的向外传递参数的方法,将括号当中的当前的item //传递出去 <van-cell title="{{item.name}}" clickable @tap="onClick({{item}})"> <van-radio name="{{item.id}}" > </van-radio> </van-cell> </repeat> </van-cell-group> </van-radio-group> </van-popup> </template> <script> import wepy from 'wepy'; //我们用component 去定义一个组件 export default class myTabBar extends wepy.component { //用props去去声明页面所需要的参数,这些值是再父组件调用子组件的时候,绑定在组件上面传递进来的 props = { lastSchool: { type: Object, twoWay: true } }; //data则是父组件,或者是调用后端接口去赋值的属性 data = { showPopup: false, locationList: [] }; onLoad() { //在这里我是事先将学校列表存入到缓存当中去使用的 //所以这里不会再去调用后端的接口 去获取值 let locationList = wepy.getStorageSync('locationList'); console.log('popup load'); if (locationList) { this.locationList = locationList; } } methods = { //这个方法就是在上面定义的点击某头条信息的时候触发的方法,会将showPopup的逻辑值改变,从而控制 //显示还是不显示 onPopup(event) { console.log('close', event); this.showPopup = !this.showPopup; }, //点击事件则是去向父组件去传递值 //用到的就是emit 在这里需要注意的是 若是传递一个组件直接写上就行,若是传递多个值,则要将其封装 //成一个对象再向外去传递相应的值 onClick(item, e) { console.log('item', item, e); this.lastSchool = item; this.$emit('setLocationId', item); this.showPopup = !this.showPopup; }, }; }; </script> //下面是一些自定义的样式 <style lang="less"> @import "../style/global"; .van-radio__icon--checked{ color:@theme-color !important; } </style>下面我们来看几张效果图:
这是没有选择时的情况:
选择时:
点击北大之后:
最后提交:提交时的参数:
以上就是一个见简单的,弹出层demo
补充知识:vantUI的sku组件的使用(增加自定义提示信息、自定义按钮获取sku的选中值)
最近在做的移动电商项目,因为vantUI开发商城比较方便,最后决定使用vue结合vantUI结合开发,在使用sku组件的时候遇到了问题,先看一下使用了sku的效果图,
再来看一下设计图
很明显少了一句提示,只需要写一个插槽来实现就可以了
最后看一下最终效果
补充:
获取选中规格的方法
1、首先给标签添加ref属性
2、在你需要获取规格的事件中直接用this.$refs.(ref的属性值).(官方提供的getSkuData方法)获取就可以了
代码示例如下:
打印结果:
以上这篇wepy--用vantUI 实现上弹列表并选择相应的值操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新动态
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]