微信小程序里没有和HTML里的下拉框一样的组件,想要相同的效果只能自己写一个,先看效果

下面来看一下代码:

首先WXML

<view class='select_box'><view class='select' catchtap='selectTap'><text class='select_text'>{{selectData[index]}}</text><image class='select_img {{show&&"select_img_rotate"}}' src='/image/gobottom.png'></image>   </view><view class='option_box' style='height:{{show?(selectData.length>5?300:selectData.length*60):0}}rpx;'><text class='option' style='{{index==selectData.length-1&&"border:0;"}}' wx:for='{{selectData}}' wx:key='this' data-index='{{index}}' catchtap='optionTap'>{{item}}</text></view>
</view>
<!--show&&"select_img_rotate"-----给显示框右边的下拉箭头添加动画height:{{show?(selectData.length>5?300:selectData.length*60):0}}rpx;-----给改变下拉框高度,实现下拉框的显示隐藏,每个下拉选项的高度为60,下拉框的最大高度这里设置的是300,所以这里写成当数据长度大于5时,下拉框高度为300,反之下拉框高度为数据长度乘以60index==selectData.length-1&&"border:0;"-----取消下拉选项的最后一个的下边框-->

然后WXSS(如果不想要动画,删掉wxss里的transition:transform 0.3s;和transition: height 0.3s;即可)

page{background: #f3f7f7;
}
.select_box{background: #fff;width: 80%;margin: 30rpx auto;position: relative;
}
.select{box-sizing: border-box;width: 100%;height: 70rpx;border:1px solid #efefef;border-radius: 8rpx;display: flex;align-items: center;padding: 0 20rpx;
}
.select_text{font-size: 30rpx;flex: 1;
}
.select_img{width: 40rpx;height: 40rpx;display: block;transition:transform 0.3s;
}
.select_img_rotate{transform:rotate(180deg);
}
.option_box{position: absolute;top: 70rpx;width: 100%;border:1px solid #efefef;box-sizing: border-box;height: 0;overflow-y: auto;border-top: 0;background: #fff;transition: height 0.3s;
}
.option{display: block;line-height: 40rpx;font-size: 30rpx;border-bottom: 1px solid #efefef;padding: 10rpx;
}

这里是JS

Page({data: {show:false,//控制下拉列表的显示隐藏,false隐藏、true显示selectData:['1','2','3','4','5','6'],//下拉列表的数据index:0//选择的下拉列表下标},// 点击下拉显示框selectTap(){this.setData({show: !this.data.show});},// 点击下拉列表optionTap(e){let Index=e.currentTarget.dataset.index;//获取点击的下拉列表的下标this.setData({index:Index,show:!this.data.show});},onLoad: function (options) {}})

转载自:https://www.jb51.net/article/165418.htm

微信小程序实现下拉框功能相关推荐

  1. vue uniapp 微信小程序 搜索下拉框 模糊搜索

    vue uniapp 微信小程序 搜索下拉框 模糊搜索 话不多说 直接贴代码 template <template><view class="index"> ...

  2. 微信小程序 select 下拉框组件

    一.源码地址 GitHub - imxiaoer/WeChatMiniSelect: 微信小程序 select 下拉框组件 二.效果图 录屏图片质量较差,所以大家会看到残影(捂脸) 三.组件源码 1. ...

  3. 微信小程序搜索下拉框排名原理及使用方法「干货」

    自从2017年1月份微信推出小程序以来,小程序的火热程度大家是有目共睹的,从一开始的精确搜索,到后面的模糊搜索,小程序的更新速度远远超过了外界的期待!虽然小程序目前已经有五十几个入口,但是关键词搜索这 ...

  4. 微信小程序——自定义下拉框

    微信小程序本身并没有自带的下拉框组件,我们可以通过view标签自定义一个下拉框.(仅供参考) 目录 文件目录 实现效果 实现逻辑 设置数据 设置默认选项 实现弹出下拉框 提供选项值 设置所选值 源码 ...

  5. php 类似微信下拉菜单,微信小程序实现下拉框(附代码)

    微信小程序里没有和HTML里的下拉框一样的组件,想要相同的效果只能自己写一个,先看效果 下面来看一下代码: 首先WXML {{selectData[index]}} {{item}} 然后WXSS(如 ...

  6. 微信小程序实现下拉刷新功能

    第一步.在app.json文件里把enablePullDownRefresh设置为true 第二步.在需要下拉刷新页面的js文件里写onPullDownRefresh:function(){}这个方法 ...

  7. php 类似微信下拉菜单,微信小程序模拟下拉菜单开发实例

    本文主要和大家分享微信小程序模拟下拉菜单开发实例,希望能帮助到大家. 一.知识点 1.实现动态显示和隐藏某个控件 列表1data:{ open:false }, showitem:function() ...

  8. 小程序picker下拉框选择时间,只需要年和月

    小程序picker下拉框选择时间,只需要年和月 官方提供的组件可以选择到日 我们现需要选择到月,只需要在代码里加上fields="month" <view class=&qu ...

  9. 微信小程序实现下拉刷新

    微信小程序实现下拉刷新 配置json文件 在js文件中写下拉刷新方法 注意 配置json文件 如果需要全局使用下拉刷新就在app.json中设置 如果为单页面使用则在页面json设置即可 " ...

最新文章

  1. Don’t Use the Win32 API PostThreadMessage() to Post Messages to UI Threads(翻译)
  2. [leetcode] 198.打家劫舍
  3. 【算法设计与分析】09 递推方程与算法分析
  4. mysql权限系统的工作原理_Mysql权限系统工作原理
  5. “谷歌杀手”发明者,科学天才 Wolfram
  6. mysql 8.0以上重置密码
  7. SSL加速卡调研的原因及背景
  8. 嵌入式linux 中文输入法,一种用于嵌入式Linux系统的中文拼音输入法的制作方法...
  9. stm32中的ISP一键下载原理分析
  10. C语言----最长公共子串(动态规划)
  11. java 流水_Java之流水号生成器实现
  12. matlab 行 读取文件 跳过_matlab-Textscan在行首跳过所需的空白
  13. 疯狂原始人服务器维修,疯狂原始人服务器互通详解 安卓和ios能一起玩么
  14. 天梯赛——L1-009 N个数求和 (20 分)
  15. TCPIP------慢启动与拥塞避免
  16. [Excel]如何取得多項式擬合的R平方值(R-squared)?
  17. 前端第二章:1.HTML简介、Linux 命令行打开 .html 文件、常用标签(一)
  18. 限制guest账号访问硬盘权限
  19. 电子商务行业数据集成案例介绍
  20. java jms activemq_JMS-ActiveMQ与Java消息服务

热门文章

  1. 计算机教师课改先进个人,基础教育课程改革工作先进个人事迹
  2. MATLAB用相干解调DSB信号,AM DSB信号解调的MATLAB实现
  3. %3c php 能用什么代替,Phpwind9
  4. quot;多看nbsp;fornbsp;kindle3”升级包下载
  5. Mathematica note
  6. 《数据结构》网课 邓俊辉 习题详细解析(第七章:二叉搜索树)
  7. linux蓝牙鼠标唤醒电脑,蓝牙鼠标唤醒电脑,蓝牙鼠标怎么设置唤醒电脑
  8. (浙大-19-夏-数据结构学习笔记)二叉树的初步认识
  9. 浏览器断网事件offline和联网事件online
  10. VR火得不行 那么它商业化的突破点到底在哪里?