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 实现上弹列表并选择相应的值操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新动态
- 《庄心妍 实力唱将 发烧音乐精选集》[WAV+CUE][380MB]
- [音展纪念碟]2006年《TAA台湾第十六届国际HI-ENDHI-FI音响展》2cd[WAV]
- 中国音乐地图之听见西藏山歌牧歌酒歌2020[WAV分轨]
- 王宏伟2017-永远的红飘带[太平洋影音][WAV+CUE]
- 费翔.1997-NOW现在【第一中国】【WAV+CUE】
- 新格合唱团.1981-我唱你和2辑(滚石新格民歌系列)【新格】【WAV+CUE】
- 陈柏宇.2011-QUINQUENNIUM【SONY】【WAV+CUE】
- 雨果唱片-《金唛系列-蔷薇依韵琼瑶》WAV
- 陈百强《凝望(2012华纳LPCD45限量版)[DMI]》[WAV整轨]
- 模拟之声慢刻CD《徐小凤45周年》[德国母带][低速原抓WAV+CUE]
- 《庄心妍 实力唱将 发烧音乐精选集》[WAV+CUE][380MB]
- 《王菲 单曲合集》[FlAC/分轨][520MB]
- 《费玉清 原味再现 水长流》[WAV+CUE][430MB]
- 群星.1992-畅销榜老歌金曲10CD【风格】【WAV+CUE】
- 孙悦.2024-时光音乐会【金蜂】【WAV+CUE】