小程序toast组件中事件触发条件
微信小程序toast组件是一种消息提示框。例如当文章条数全部加载出来后,用户再次点击加载更多的时候,js判断文章条数全部加载出来后,便让toast组件弹出提示用户“没有更多文章了”,效果如下图所示:
代码实现
List item
index.wxml
1//点击加载更多,执行js里的loadMore函数
2加载更多
3
4//hidden接收js传递过来的toastHidden变量值,为true,toast隐藏;为false,toast显示
5没有更多文章了
复制代码
文件路径:pages/index/index.wxml
index.js
1Page({
2 data: {
3 //定义toastHidden变量,并将初始值设为true,此时toast组件隐藏
4 toastHidden: true,
5 },
6
7 //点击加载更多时执行的函数
8 loadMore: function () {
9 var that = this
10 if (“数据条数全部加载出来后”) {
11 //if条件成立的话,将toastHidden的值设为false,此时toast组件显示
12 that.setData({ toastHidden: false })
13 }
14 },
15
16 //这个函数将toastHidden值再次设为true,此时toast组件再次隐藏
17 toastChange: function () {
18 this.setData({ toastHidden: true })
19 }
20})
文件路径:pages/index/index.js
toastchange函数在哪里被执行了?
在上面的动态效果图中,可以看到,当文章条数全部加载出来后,toast组件弹出提示,且几秒后又消失。js中toastchange函数就是让toast组件再次消失。但是代码中并没看到toastchange函数在哪被调用。这就得先了解下toast组件的文档说明。
从文档中得知bindchange事件触发条件需要hidden的值为false。toastchange函数绑定在bindchange事件上,因此toastchange函数在hidden的值为false的时候执行。这里回看js中hidden的值设为false的地方。
红色框里的代码就是关键所在!
代码分析
Step1:toast组件接收js传递过来的toastHidden初始值(true),此时toast隐藏。
Step2:js程序判断文章条数全部加载出来后,将toastHidden值设为false,此时toast显示。
Step3:hidden接到false的时候触发bindchange事件并执行coastchange函数(coastchange执行前会有一个延时(duration),默认1500毫秒),函数中将toastHidden的值设置为true,此时toast组件再次隐藏。
小程序toast组件中事件触发条件的更多相关文章
- 微信小程序image组件中aspectFill和widthfix模式应用详解
aspectFill 与 widthfix 都是保持宽高比不变 aspectFill 保持纵横比缩放图片,只保证图片的短边能完全显示出来.也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发 ...
- ios下,微信小程序scrollview组件中的fixed元素抖得和帕金森病人一样
问题现象 这个问题是最近在优化小程序代码时发现的. 在ios环境下,微信小程序的scrollview组件包裹着一个position:fixed的view. 当在scrollview组件上滑动时,这个v ...
- 微信小程序在组件中获取界面上的节点信息wx.createSelectorQuery
节点信息查询 API 可以用于获取节点属性.样式.在界面上的位置等信息. 最常见的用法是使用这个接口来查询某个节点的当前位置,以及界面的滚动位置. 示例代码: const query = wx.cre ...
- 微信小程序,内容组件中兼容的H5组件
受信任的HTML节点及属性 全局支持class和style属性,不支持id属性. 节点 属性 a abbr address article aside b bdi bdo ...
- 小程序picker组件中的(普通选择器:mode = selector)
本例代码借鉴官方picker案例: WXML: <picker bindchange="pickChange" value="{{index}}" ran ...
- 小程序--->scroll-view组件不能触发相应滚动事件
小程序scroll-view组件不能触发相应滚动事件 在制作加载更多时会发现不能触发相应事件,一般情况下首先要查看两个必要的属性scroll-view的高度是否设置,第二就是scroll-view的滚 ...
- 微信小程序image组件binderror使用例子(对应html、js中的onerror)
官方文档 binderror HandleEvent 当错误发生时,发布到 AppService 的事件名,事件对象event.detail = {errMsg: 'something wrong' ...
- 在WePY中实现了小程序的组件化开发,组件的所有业务与功能在组件本身实现,组件与组件之间彼此隔离,上述例子在WePY的组件化开发过程中,A组件只会影响到A所绑定的myclick
wepyjs - 小程序组件化开发框架 https://tencent.github.io/wepy/document.html#/?id=%e5%be%ae%e4%bf%a1%e5%b0%8f%e7 ...
- 微信小程序弹窗组件
概述 自己封装的一个比较简单微信弹窗小组件,主要就是教会大家对微信小组件的用法和理解,因为微信小程序对组件介绍特别少,所以我就把自己的理解分享给大家 详细 代码下载:http://www.demoda ...
- 微信小程序_(组件)可拖动movable-view
微信小程序movable-view组件官方文档 传送门 Learn 一.moveable-view组件 一.movable-view组件 direction:movable-view的移动方向,属性值 ...
随机推荐
- Ubuntu18.04LTS虚拟机优化
1.没网 刚安装好没网,可以设置NAT连接,也可以直接设置为桥接模式联网.这里直接桥接. 网络中心使用的是以太网,所以就在菜单的"编辑"里的"虚拟网络编辑器"里 ...
- HCIP-进阶实验06-多实例生成树安全部署
HCIP-ICT进阶实验06-多实例生成树安全部署 1 实验需求 1.1 实验拓扑 1.2 实验环境说明 IP地址规划表: 设备 接口 IP 地址 备注 SW1 VLANIF10 192.168.10 ...
- c# string.format 中使用$的坑
string a = "hello}"; string s = string.Format($"{a}"); 上面这种情况,会报格式错误,会把hello}中的} ...
- 搭建 springboot 应用
一.采用 Spring Initializr 搭建springboot应用 步骤: 1.只需要打开网址: https://start.spring.io/: 2.选择使用 Maven 构建,语言 ja ...
- Power shell 读取电量,改变屏幕亮度
1. Get-Wmiobject -List win32* # 列出所有win32_信息(基本的BIOS,Battery , Memory, processor) 2.Get-WmiObject ...
- python打包生成exe报错
如图所示 如果出现的是这个问题可以可以考虑以下方法 首先卸载原先下载的 Pyinstaller pip uninstall pyinstaller 再执行以下代码,去github上下载 pip ...
- 小白之Python-基础中的基础04
继续.. ------------------------华丽的分界线----------------------------- Python-基础中的基础04 --之方法 格式:对象.方法() 1. ...
- vue2 安装swiper
npm install swiper@5.4.5 -D
- springcloud(二) - 服务调用Feign&openFeign
功能介绍:动态代理的方式,简化请求其他服务的开发成本,更好得对请求地址组装.接受返回信息.返回参数解析等 Feign和OpenFeign区别: OpenFeign实现了Feign的基础功能,同时支持 ...
- Vue3中使用JSX简明语法
掘金JSX:https://juejin.cn/post/7114063575122984973