微信小程序中的上拉、下拉菜单功能

所属分类: 网络编程 / JavaScript 阅读数: 1767
收藏 0 赞 0 分享

问题描述

在使用小程序的时候基本的页面的一般都是很简洁的,所以会有一些菜单来做简单的诠释说明,或者是提供一些选项。这些菜单的弹出方式一般是向上和向下,那么如何来设置这些上下拉的菜单呢?

解决方案

上下拉菜单在微信小程序中起提示、选项的功能,当点击它时会弹出属于这个菜单的相应选项。使用vant组件库,将 dist 文件提前下载好然后保存到项目中。在小程序中调用组件库,并在正确引用就可以实现了菜单功能了。

一、下拉菜单

(1)在 json 中调用 van-tab 组件。

"usingComponents": {

"van-dropdown-menu": "/dist/dropdown-menu/index",

"van-dropdown-item": "/dist/dropdown-item/index",
}

表 1 json代码

(2)在 js 中对菜单进行设置。

option:设置菜单内容;

value:设置菜单内容的排列顺序。

Page({
data: {
option1: [
{ text: ' 白色; S', value: 0 },
{ text: ' 白色; M', value: 1 },
{ text: ' 白色; L', value: 2 }
],
value1: 0,
},
});

表 2 js代码

( 3 ) 在 wxml 中实现。

A ctive-color 设置选中状态颜色;

V alue设置排列顺序;

O ption菜单内容。

<van-dropdown-menu active-color="#ee0a24">

<van-dropdown-item value="{{ value1 }}" options="{{ option1 }}" />

</van-dropdown-menu>

表 3 wxml代码

图 1 效果图

 

二、上拉菜单

(1)在 json 中调用 van-tab 组件。

"usingComponents": {

"van-action-sheet": "/dist/action-sheet/index" 

}

表 4 json代码

( 2 )在 js 中对菜单进行设置。

name:设置菜单选项;

subname : 设置副标题;

color:设置颜色。

Page({
data: {
show: false,
actions: [
{
name: ' 选项 '
},
{
name: ' 选项 '
},
{
name: ' 选项 ',
subname: ' 副文本 ',
openType: 'share'
}
]
},
onClose() {
this.setData({ show: false });
},
onSelect(event) {
console.log(event.detail);
}
});

表 5 js代码

( 3 ) 在 wxml 中实现。

<van-action-sheet>: 设置上来菜单;

bind:select="onSelect" : 选中选项时触发,禁用或加载状态下不会触发;

bind:close="onClose"  : 关闭时触发。

<van-action-sheet

show="{{ show }}"

actions="{{ actions }}"

bind:close="onClose"

bind:select="onSelect"
/>

表 6 wxml代码

 

 

图 2 效果图

结语

设置上下拉菜单可以使小程序界面简洁,在设置菜单的时候要注意对菜单内容和排列顺序设置正确。菜单跟其他的组件有一点点不同菜单一般是在 js 里面进行配置,可以根据需要在 js 中对菜单进行设置。菜单设置的标签有很多,需要理解记忆并运用。

更多精彩内容其他人还在看

js单独获取一个checkbox看其是否被选中

这篇文章主要与大家分享js获取一个checkbox看其是否被选中的具体实现,很简单,但很实用,需要的朋友可以参考下
收藏 0 赞 0 分享

js变量、作用域及内存详解

本文主要详细分析了JS变量,作用域以及内存问题,同时附上非常多的实例,方便大家理解这3个概念,是篇不可多得的文章,希望对大家有所帮助
收藏 0 赞 0 分享

深入理解javascript作用域和闭包

作用域和作用域链是javascript中非常重要的特性,对于他们的理解直接关系到对于整个javascript体系的理解,而闭包又是对作用域的延伸,也是在实际开发中经常使用的一个特性,实际上,不仅仅是javascript,在很多语言中都提供了闭包的特性。
收藏 0 赞 0 分享

IE6 hack for js 集锦

本文主要讲诉了使用js实现网站功能兼容IE6,非常的实用的小技巧,有需要的朋友可以参考下
收藏 0 赞 0 分享

Javascript的setTimeout()使用闭包特性时需要注意的问题

这篇文章主要介绍了Javascript的setTimeout(0)使用闭包特性时需要注意的问题,需要的朋友可以参考下
收藏 0 赞 0 分享

常用的jquery模板插件——jQuery Boilerplate介绍

Query Boilerplate是一个不错的jQuery插件开发工具,使用这个工具可以帮助你快速的构建一个jQuery框架。这个工具提供你很多评论用以帮助你使得开发变得简单和直接,它是个真正的面对对象的工具,你可以实现公开或者私有的方法或者公开或者私有的属性。
收藏 0 赞 0 分享

深入理解javascript构造函数和原型对象

对象,是javascript中非常重要的一个梗,是否能透彻的理解它直接关系到你对整个javascript体系的基础理解,说白了,javascript就是一群对象在搅。。(哔!)。
收藏 0 赞 0 分享

深入理解javascript原型链和继承

这篇文章主要介绍了javascript原型链和继承的概念,以及使用原型链实现继承、经典继承、组合式继承、寄生组合式继承。非常实用,是篇非常不错的文章,这里推荐给大家。
收藏 0 赞 0 分享

再探JavaScript作用域

这篇文章主要介绍了再探JavaScript作用域,本文用简洁的语言和直观的测试结果图片给大家讲解JavaScript的作用域,需要的朋友可以参考下
收藏 0 赞 0 分享

JavaScript获取图片真实大小代码实例

这篇文章主要介绍了JavaScript获取图片真实大小代码实例,本文使用onload事件来获取图片的真实大小,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多