微信小程序 下拉列表的实现实例代码
程序员文章站
2023-12-13 09:24:10
微信小程序 下拉列表
wxml代码:
微信小程序 下拉列表
wxml代码:
<view class="phone_one" bindtap="clickperson"> <view class="phone_personal">{{firstperson}}</view> <image src="../../image/v6.png" class="personal_image {{selectarea ? 'rotateright' :''}}"></image> //三目法判断图片要不要旋转180。 </view> <view class="person_box"> <view class="phone_select" hidden="{{selectperson}}"> <view class="select_one" bindtap="myselect" data-me="你好">你好</view> <view class="select_one" bindtap="myselect" data-me="他好">他好</view> <view class="select_one" bindtap="myselect" data-me="大家好">大家好</view> </view> </view>
wxss代码:
.phone_personal{ width: 100%; color:rgb(34, 154, 181); height:100rpx; line-height:100rpx; text-align: center; } .phone_one{ display: flex; //用flex布局更方便。 position: relative; justify-content: space-between; background-color:rgb(239, 239, 239); width:90%; height:100rpx; margin:0 auto; border-radius: 10rpx; border-bottom:2rpx solid rgb(255, 255, 255); } .person_box{ position: relative; } .phone_select{ margin-top:0; z-index: 100; position: absolute; //小程序中z-index和absolute需要同时存在,元素才能脱离文档。 } .select_one{ text-align: center; background-color:rgb(239, 239, 239); width:676rpx; //脱离文档后元素width不能再用百分比。 height:100rpx; line-height:100rpx; margin:0 5%; border-bottom:2rpx solid rgb(255, 255, 255); } .personal_image{ z-index: 100; position: absolute; right:2.5%; width: 34rpx; height: 20rpx; margin:40rpx 20rpx 40rpx 0; transition: all 0.4s ease; -webkit-transition: all 0.4s ease; } .rotateright{ transform: rotate(180deg); //180°旋转图片。 }
js代码:
page({ data:{ selectperson:true, firstperson:'个人', selectarea:false, }, //点击选择类型 clickperson:function(){ var selectperson = this.data.selectperson; if(selectperson == true){ this.setdata({ selectarea:true, selectperson:false, }) }else{ this.setdata({ selectarea:false, selectperson:true, }) } } , //点击切换 myselect:function(e){ this.setdata({ firstperson:e.target.dataset.me, selectperson:true, selectarea:false, }) }, onload:function(options){ // 页面初始化 options为页面跳转所带来的参数 }, onready:function(){ // 页面渲染完成 }, onshow:function(){ // 页面显示 }, onhide:function(){ // 页面隐藏 }, onunload:function(){ // 页面关闭 } })
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!