微信小程序 一个简单的select下拉框

微信小程序 一个简单的select下拉框

用的是transform过渡,没用动画

看看效果

在这里插入图片描述

废话不多说,直接上代码

wxml:

<view class="item">
  <label class="first"><text>*</text>公司/商户类型:</label>
  <!-- 通过点击事件改变图片的旋转角度、自定义下拉框的高度 -->
  <view class="value" bindtap="select">
    <view style="display:inline-block;">{{type!=''?type:'选择商户类型'}}</view>
    <image src="../img/sj@2x.png" class="sanjiao" style="{{isSelect?'transform:rotateZ(180deg)':''}}"/>
    <!-- select -->
    <view class="select" style="{{isSelect?'height:'+54*types.length+'rpx;':'border:0'}}">
      <view class="type" catchtap="getType" wx:for="{{types}}" data-type="{{item}}" wx:key="type">{{item}}</view>
    </view>
  </view>
</view>

wxss:


.sanjiao{
  width: 18rpx;
  height: 10rpx;
  margin-left: 20rpx;
  transition: 0.5s;/* 选转图片过渡 */
}
.select{
  position: absolute;
  z-index: 10;
  border: 2rpx solid #aaaaaa;
  padding: 0 8rpx;
  top:46rpx;
  left: -10rpx;
  width: 210rpx;
  overflow: auto;
  height: 0;
  max-height: 200rpx;
  background-color:#fff;
  box-sizing: border-box;
  transition: height 0.5s;/* 高度变换过渡 */
}
.select .type{
  color: #aaaaaa;
  border-top: 2px solid #dadada;
  padding: 6rpx;
}
.select :first-child{
  border: 0;
}

js

  data: {
    isSelect:false,//展示类型?
    types:['类型一','类型二'],//公司/商户类型
    type:"",//公司/商户类型
  },
  //点击控制下拉框的展示、隐藏
  select:function(){
    var isSelect = this.data.isSelect
    this.setData({ isSelect:!isSelect})
  },
  //点击下拉框选项,选中并隐藏下拉框
  getType:function(e){
    let value = e.currentTarget.dataset.type
    this.setData({
      type:value ,
      isSelect: false,
    })
  },

本人学习前端一年,努力努力再努力

  • 11
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值