微信小程序的简单下拉框组件

网上的下拉框组件都不是自己想要的于是就自己写了一个。
wxml
这里写图片描述
原代码上传竟然显示不出来,wxml只能截图了,然后是js部分
data: {
dropdownData:[“综合排序”,”行政区”,”商业圈”],//下拉框的数组
selectData: [‘默认排序’, ‘距离我最近’, ‘距离我最远’],//下拉选项的数组
sort_hidden: true,//下拉框的显示或隐藏
zhezhao:true,//遮罩层
dropup_pic_index: true,//选择下拉框
},
// 下拉框确定点击事件
dropdownTap(e){
let _this=this;
_this.setData({
id: e.currentTarget.dataset.index,//存入下拉框的id
sort_hidden:false,//下拉框的显示或隐藏
zhezhao: false,//遮罩层
upordown: “up”,
})
},

// 点击下拉列表
optionTap(e) {
let _that=this;
_that.setData({
key: e.currentTarget.dataset.index,//存入下拉框的key
zhezhao: true,//遮罩层的显示或隐藏
sort_hidden: true,//下拉框的显示或隐藏
upordown: “down”,
});

css部分
/* 下拉框 */
.dropdown{
width: 750rpx;
height: 80rpx;
display: flex;
}
.dropdown view{
width:250rpx;
height:80rpx;
font-size:28rpx;
font-family:PingFangSC-Regular;
font-weight:400;
color:rgba(102,102,102,1);
line-height:80rpx;
text-align: center;
}
.dropdown view image{
width:18rpx;
height:15rpx;
margin-left: 10rpx;
margin-top: 30rpx;
}
/* 下拉框一 */
.sort{
padding-left: 60rpx;
overflow: hidden;
width: 640rpx;
padding-right: 50rpx;
position: absolute;
left: 0;
top: 160rpx;
z-index: 999;
background-color: white;
}
.up{
animation-name:slidown; /名称/
animation-duration:0.3s; /持续时间/
animation-timing-function:linear; /播放动画时从头到尾都以相同的速度/
}
.down{
animation-name:slidup; /名称/
animation-duration:0.3s; /持续时间/
animation-timing-function:linear; /播放动画时从头到尾都以相同的速度/
}
.sort view{
height: 80rpx;
line-height: 80rpx;
font-size:28rpx;
font-family:PingFangSC-Regular;
font-weight:400;
color:rgba(51,51,51,1);
}
.dropdown_active{
color:rgba(20,130,240,1);
}
.sort image{
width:30rpx;
height:21rpx;
float: right;
margin-top: 30rpx;
}
/* css3下拉特效 */
@keyframes slidown{
from{
transform: translateY(-100%);
}
to{
transform: translateY(0%);
}
}

@keyframes slidup{
from{
transform: translateY(0%);
}
to{
transform: translateY(-100%);
}
}
.show{
display: block;
}
.hide{
display: none
}
/* 蒙层消失 */
.zhezhao{
position: fixed;
top: 160rpx;
left: 0;
z-index: 99;
width: 100%;
height: 100%;
background-color:#000;
opacity:0.5;
}
效果图
这里写图片描述
这里写图片描述
第一次做小程序,以后再改进。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值