微信小程序实现简单的select下拉框


Posted in Javascript onNovember 23, 2020

微信小程序实现一个简单的select下拉框,供大家参考,具体内容如下

用的是transform过渡,没用动画

看看效果

微信小程序实现简单的select下拉框

废话不多说,直接上代码

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,
 })
 },

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
限制复选框的最大可选数
Jul 01 Javascript
Javascript客户端将指定区域导出到Word、Excel的代码
Oct 22 Javascript
jQuery 常见开发使用技巧总结
Dec 26 Javascript
JS+CSS实现自动切换的网页滑动门菜单效果代码
Sep 14 Javascript
Javascript中神奇的this
Jan 20 Javascript
jQuery实现的导航下拉菜单效果
Jul 04 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
Jul 20 Javascript
详解Angular中通过$location获取地址栏的参数
Aug 02 Javascript
express框架下使用session的方法
Jul 31 Javascript
vue 实现路由跳转时更改页面title
Nov 05 Javascript
小程序跳转H5页面的方法步骤
Mar 06 Javascript
如何利用vue实现波谱拟合详解
Nov 05 Javascript
记录一次websocket封装的过程
Nov 23 #Javascript
一篇文章让你搞懂JavaScript 原型和原型链
Nov 23 #Javascript
微信小程序实现锚点跳转
Nov 23 #Javascript
javascript实现电商放大镜效果
Nov 23 #Javascript
用webAPI实现图片放大镜效果
Nov 23 #Javascript
Vue 的 v-model用法实例
Nov 23 #Vue.js
JavaScript实现网页留言板功能
Nov 23 #Javascript
You might like
PHP COOKIE设置为浏览器进程
2009/06/21 PHP
php模拟post行为代码总结(POST方式不是绝对安全)
2012/02/22 PHP
Fine Uploader文件上传组件应用介绍
2013/01/06 PHP
php selectradio和checkbox默认选择的实现方法详解
2013/06/29 PHP
JavaScript DOM 添加事件
2009/02/14 Javascript
ExtJs扩展之GroupPropertyGrid代码
2010/03/05 Javascript
js创建数据共享接口——简化框架之间相互传值
2011/10/23 Javascript
各浏览器中querySelector和querySelectorAll的实现差异分析
2012/05/23 Javascript
jquery offset函数应用实例
2012/11/14 Javascript
JS分页控件 可用于无刷新分页
2013/07/23 Javascript
node.js中的console用法总结
2014/12/15 Javascript
firefox浏览器用jquery.uploadify插件上传时报HTTP 302错误
2015/03/01 Javascript
JavaScript将字符串转换成字符编码列表的方法
2015/03/19 Javascript
Jquery实现纵向横向菜单
2016/01/24 Javascript
JavaScript中将数组进行合并的基本方法讲解
2016/03/07 Javascript
详解angular中的作用域及继承
2017/05/31 Javascript
JS+Ajax实现百度智能搜索框
2017/08/04 Javascript
vue 2.0 购物车小球抛物线的示例代码
2018/02/01 Javascript
Python实现一个简单的验证码程序
2017/11/03 Python
rabbitmq(中间消息代理)在python中的使用详解
2017/12/14 Python
Python random模块用法解析及简单示例
2017/12/18 Python
Python随机生成身份证号码及校验功能
2018/12/04 Python
解决pyinstaller打包发布后的exe文件打开控制台闪退的问题
2019/06/21 Python
Python threading的使用方法解析
2019/08/28 Python
python数据化运营的重要意义
2019/11/25 Python
Ubuntu16.04安装python3.6.5步骤详解
2020/01/10 Python
Python简单实现区域生长方式
2020/01/16 Python
Keras 快速解决OOM超内存的问题
2020/06/11 Python
python 对象真假值的实例(哪些视为False)
2020/12/11 Python
美国最大点评网站:Yelp
2018/02/14 全球购物
英国排名第一的餐具品牌:Denby Pottery
2019/11/01 全球购物
难忘的一天教学反思
2014/04/30 职场文书
银行业务授权委托书
2014/10/10 职场文书
任命书标准格式
2015/03/02 职场文书
纪录片信仰观后感
2015/06/08 职场文书
Python使用Beautiful Soup(BS4)库解析HTML和XML
2022/06/05 Python