微信小程序实现下拉菜单效果

article/2025/10/8 8:42:33

问题

下拉菜单在各类网页,app或者小程序中都是比较常见的输入控件。下拉菜单的下拉选项的多少可以根据自身需求进行调节,常运用于时间范围选择,地点区域选择,价格区间选择,等等。提供下拉菜单的目的是帮助用户更快更准确的选择相关条件。下拉菜单的运用可以简化页面设计,节约空间,在一定程度上简化设计。其缺点可能就是相比于单项选项卡还不够直观,用户每次想要查看所选选项时都必须打开菜单对选项进行比较。

方法

微信小程序中是没有html中的下拉标签的,所以要实现下拉菜单功能就必须自己动手写拉。在index.wxml文件中,我们需要写好下拉菜单的基础框架,使用view创建下拉选择的菜单,这里创建三个菜单,需要注意的是要加上data-name属性,用于下面实现选择菜单后显示在选择框里。分别通过bindtap给“请选择”的view绑定bindShowMsg方法,给菜单的view绑定mySelect方法,用于在js中实现控制。其中bindtap就是点击事件在.wxml文件绑定。

<viewclass='list-msg2'bindtap='bindShowMsg'>

上述代码就是在一个组件的属性上添加bindtap并赋予一个值(一个函数名)。当点击该组件时, 会触发相应的函数执行。在后台.js文件中定义tapMessage函数.

index.wxml文件代码如下:

<viewclass='list-msg'>

    <viewclass='list-msg1'>

        <text>选择日期</text>

    </view>

<!--下拉框   -->

    <viewclass='list-msg2'bindtap='bindShowMsg'>

        <text>{{tihuoWay}}</text>

        <imagestyle='height:20rpx;width:20rpx;'src='/images/down.png'></image>

    </view>

<!-- 下拉需要显示的列表 -->

    <viewclass="select_box"wx:if="{{select}}">

        <viewclass="select_one"bindtap="mySelect"data-name="近两日">近两日</view>

        <viewclass="select_one"bindtap="mySelect"data-name="近一周">近一周</view>

        <viewclass="select_one"bindtap="mySelect"data-name="全部记录">全部记录</view>

    </view>

</view>

样式调整:

小程序里的样式设置与HTML基本类似,就不一一介绍了。这里我们就简单介绍一下@keyframes规则。在index.wxss文件中我们使用了如下代码,其作用是实现下拉过度效果,使用@keyframes动画实现菜单的渐变打开和关闭动画。

@keyframesmyfirst {

    from {

        height:0rpx;

    }

    to {

        height:210rpx;

    }

}

使用@keyframe实现下拉过度效果,以百分比来规定改变发生的时间,或者通过关键词“from” 和 “to”,等价于 0% 和 100%。0% 是动画的开始时间,100% 动画的结束时间。

js方法:

在index.js页面,编写两个方法,一个是bindShowMsg ()方法,另一个是mySelect方法,用于实现当选择了下拉的菜单后显示菜单内容。代码如下:

Page({

  /* 页面的初始数据    */

  data: {

    select: false,

    tihuoWay: '近两日'

  },

  /*生命周期函数--监听页面加载   */

  onLoad: function (options) {

  },

  bindShowMsg() {

    this.setData({

      select: !this.data.select

    })

  },

  mySelect(e) {

    var name = e.currentTarget.dataset.name

    this.setData({

      tihuoWay: name,

      select: false

    })

  },

  /*用户点击右上角分享 */

  onShareAppMessage: function () {

  }

})

编译小程序,预览小程序运行后的效果:

图1 效果图


http://chatgpt.dhexx.cn/article/Xl7CmiqI.shtml

相关文章

使用微信小程序做一个简易的下拉框,无动画效果,纯原生写法(下拉列表框)

最近在开发的时候&#xff0c;需要使用下拉的效果&#xff0c;但是之前并没有进行书写过&#xff0c;今天做一个简单的demo&#xff0c;来记录一下微信小程序开发的下拉框效果。 微信小程序和jquery最大的区别就是是否操作dom&#xff0c; 微信小程序无需操作dom&#xff0c;可…

微信小程序下拉选择

微信小程序中下拉框选择一般的交互方式有以下两种 直接下拉选择点击选择框后&#xff0c;弹出浮层进行选择 下边分别介绍两种方式的实现。在微信小程序中&#xff0c;这两种实现都需要修改三个文件 js 文件&#xff1a;下拉选择逻辑的具体实现 wxml 文件&#xff1a;下拉组件…

小程序——下拉选择框组件

一、效果 二、说明 最近在开发微信小程序&#xff0c;但是用的lin-ui和vant 都没有下拉选择框组件。在网上搜索一番后&#xff0c;发现了一个挺简单且很好用的下拉框组件。 链接在这里&#xff1a;https://blog.csdn.net/WeiflR10/article/details/121494131 原文中是直接写入…

微信小程序实现下拉框功能

微信小程序里没有和HTML里的下拉框一样的组件&#xff0c;想要相同的效果只能自己写一个&#xff0c;先看效果 下面来看一下代码&#xff1a; 首先WXML <view classselect_box><view classselect catchtapselectTap><text classselect_text>{{selectData[i…

小程序登录详解

小程序登录简单分为以下几步&#xff1a; 使用wx.login获取code值获取code值后再加 AppID appsecret code 传给后端后端调接口 拿到 seesion_key openid 返回 token前端存储token 小程序登录的三个角色 小程序 用户使用客户端 由于小程序运行在微信之上 因此小程序可以通过…

一个好看的小程序登录页面

文章目录 前言一、效果图二、实现代码 前言 写一个挺好看的小程序页面&#xff0c;发出来记录一下 一、效果图 登录页面&#xff1a; 注册页面&#xff1a; 通过点击注册和登录按钮切换两个页面淡入淡出效果 二、实现代码 wxml: <!--pages/login/login.wxml--> &…

微信小程序的简单登录

这种在前台直接获取openid的方式已经不可以用了&#xff0c;各位想了解新的登录请去http://blog.csdn.net/m0_37992327/article/details/73469087&#xff0c;不过下面的一些东西还是对大家有帮助的&#xff0c;有兴趣的可以看一下&#xff0c;尤其是ssl证书的申请方式。 最近…

微信小程序登录界面

软件安装 这个就不讲了&#xff0c;没安装的可以自行百度安装一下 创建小程序 点击确认后创建完成&#xff0c;然后 创建登录页 然后点击app.json&#xff0c;将pages中的路径改掉 将pages中的路径修改之后&#xff0c;直接保存&#xff0c;会自动生成login文件夹及下边的文件…

微信小程序实现简单登录界面和登录功能

微信小程序实现简单登录界面和登录功能 问题背景 客户端开发和学习过程中&#xff0c;登录功能是一个很常见的场景。本文将介绍&#xff0c;微信小程序开发过程中是如何实现登录界面和登录功能的。 问题分析 话不多说&#xff0c;直接上代码。 (1)index.js文件&#xff0c;代码…

小程序简单的登录界面

造轮子系列复制粘贴&#xff0c;不多说 <view class""><view class"logo h400 flex jc-ai-center"><image src"../../assets/images/yh.png"></image></view><view class"ipt-wrap"><view cla…

微信小程序登录

前段时间发布了一个微信小程序的简单登录&#xff0c;那段时间我一直在忙着项目&#xff0c;有一天&#xff0c;我清闲下来准备进入小程序群里面看一下来着&#xff0c;刚好有人问问题了&#xff0c;我一看这哥们的问题好像是我写的东西啊&#xff0c;我感觉是时候秀一波了&…

小程序微信小程序设计登录页面

Page({data: {phone: ,password: ,success: false,text: },// 获取输入账号 phoneInput: function (e) {this.setData({phone: e.detail.value})},// 获取输入密码 passwordInput: function (e) {this.setData({password: e.detail.value})},// 登录 login: function () {var t…

微信小程序登录页面的实现

微信小程序登录页面 实现在进入微信小程序首页前的登录验证页面&#xff0c;这里有两种方法&#xff0c;但其实原理都是一样的。 1. 在首页中加入一个弹窗作为登录窗口&#xff0c;效果如下图&#xff1a; (1)index.wxml 登录窗口代码如下&#xff1a; <view class"…

微信小程序实战(一)---实现登录界面

昨天小程序第一天公测&#xff0c;就下载个小程序自带IDE玩了玩&#xff0c;看了看API&#xff0c;撸出了个登录界面给大家分享下。 下面是主界面和代码。 index.wxml <view class"container"><view class"usermotto"><text class"us…

微信小程序云开发 之 登录注册界面 详细教程

文章目录 前言一、前期的准备&#xff08;很重要&#xff09;1.程序的需求2.微信开发者文档3.数据库的设计 二、小程序设计阶段1.选择开发方式2.云开发第一步&#xff1a;注册微信小程序&#xff0c;获取小程序的 AppID第二步、创建小程序项目 第三、登录界面的设计1.登录2.注册…

微信小程序的登录界面实现

微信小程序的登录界面实现 <view class"container"><view class"wrapper"><view class"left-top-sign">LOGIN</view><view class"welcome">欢迎回来&#xff01;</view><view class"inp…

微信小程序 如何实现登录

业务流程&#xff1a; 1&#xff1a;首先需要一个按钮触发事件 2&#xff1a;调用微信小程序的登录接口wx.login&#xff0c;拿到code 3&#xff1a;调用微信小程序的获取用户信息的接口wx.getUserProfile&#xff0c;拿到用户的个人信息 4&#xff1a;拿到的个人信息调用后…

小程序登录流程

用户登录是一个系统的必备功能。而小程序的登录流程和Web端又有一些不同&#xff0c;主要是要与微信服务器进行通信验证。下面我们就来看下小程序具体的登录流程。 1.通过 wx.login() 获取到用户的code判断用户是否授权读取用户信息&#xff0c;调用wx.getUserInfo 读取用户…

微信小程序之登录页-------实例

最近在学习微信小程序&#xff0c;下面提供自己做的微信小程序登录页面&#xff0c;仅供参考。 效果图&#xff1a; 目录结构&#xff1a; 图片&#xff1a; name.png key.png 下面是代码&#xff1a; login.wxml&#xff1a; <!--pages/login/login.wxml--> <vie…

微信小程序的登录流程

基本流程&#xff1a; 1、调用 wx.login() 获取 临时登录凭证code &#xff0c;并回传到开发者服务器。 2、调用 auth.code2Session 接口&#xff08;本接口应在服务器端调用&#xff09;&#xff0c;换取 用户唯一标识 OpenID 、 用户在微信开放平台帐号下的唯一标识 UnionID&…