微信小程序开发系列(二十九)·界面交互API·loading 提示框、showModal模态对话框、showToast消息提示框

目录

1.  loading 提示框

1. 1  wx.showLoading()显示loading提示框

1.2  wx.hideLoading()关闭 loading 提示框

2.  showModal 模态对话框

3.  showToast 消息提示框


        小程序提供了一些用于界面交互的 API,例如:loading 提示框、消息提示框、模态对话框等 API。

1.  loading 提示框

loading 提示框常配合网络请求来使用,用于增加用户体验,对应的API 有两个:

1. wx.showLoading()显示loading提示框

2. wx.hideLoading()关闭 loading 提示框

1. 1  wx.showLoading()显示loading提示框

        找到 index.js文件,添加代码:

    // 显示 loading 提示框
    wx.showLoading({
      title: '数据正在加载中...',
    })

        完整的index.js代码:


Page({

  data:{
    List:[]
  },
  // 获取数据
  getData(){

    // 显示 loading 提示框
    wx.showLoading({
      title: '数据正在加载中...',
    })

    // 如果需要发起网络请求,需要使用 wx.request API
    wx.request({
      // 接口地址
      url: 'https://gmall-prod.atguigu.cn/mall-api/index/findBanner',
      // 请求方式
      method:"GET",
      // 请求参数,若没有则为空,什么也不写
      data:{},
      // 请求头,这里不需要暂时不写
      header:{},
      // API 调用成功以后,执行的回调
      success:(res)=>{
        // console.log(res)
        if(res.data.code == 200){
          this.setData({
            List: res.data.data
          })
        }
      },
      // API 调用失败以后,执行的回调
      fail:(err)=>{
        console.log(err)
      },
      //  API 无论成功或者失败,执行的回调
      complete:(res)=>{
        console.log(res)
      }
    })

  }
})

        根据上图我们会发现,并没有将“数据正在加载...”中的三个点加载出来,那是因为提示的内容不会自动换行,如果提示的内容比较多,因为在同一行展示,多出来的内容就会被隐藏掉,我们可以将数据放的少一点,来进行解决:

        不过此时,我们再次点击“获取数据”会发现,仍能进行点击:

        那是因为此时的mask默认为:false

        在小程序开发中,mask: false 是指定一个布尔值的属性,用于控制页面中的遮罩层是否显示。当 mask 的取值为 false 时,表示不显示遮罩层;而当 mask 的取值为 true 时,表示显示遮罩层。
        遮罩层通常用于在某些操作(如加载数据、等待用户确认等)进行时,阻止用户对页面进行交互,同时提供视觉上的提示。通过控制 mask 属性,开发者可以灵活地控制页面中遮罩层的显示与隐藏,以提升用户体验和交互效果。

        此时的代码可以理解为:

    // 显示 loading 提示框
    wx.showLoading({
      title: '数据加载中...',
      // 是否展示透明蒙层,防止触摸穿透
      mask: false
    })

        将false改为true,则点击一次后,会出现透明蒙层,无法在进行点击:

    // 显示 loading 提示框
    wx.showLoading({
      title: '数据加载中...',
      // 是否展示透明蒙层,防止触摸穿透
      mask: true
    })

1.2  wx.hideLoading()关闭 loading 提示框

        打开折叠的 wx.request 函数,找到complete更改其内容:

      complete:(res)=>{
        // console.log(res)
        // 关闭 Loading 提示框
        wx.hideLoading()
      }

        则会发现,点击完后,展示内容,提示框关闭:

注意:hideLoading和showLoading必须结合、配对使用。

2.  showModal 模态对话框

wx.showModal():模态对话框,常用于询问用户是否执行一些操作。

例如:询问用户是否退出登录、是否删除该商品等。

        找到index.wxml文件,创建一个按钮:

<button type="primary" bind:tap="delHandler">删除商品</button>

        找到index.js文件,给按钮添加相关属性:

  // 删除商品
  async delHandler(){
    
    // showModal 显示模态对话框
    const res = await wx.showModal({
      title: '提示',
      content: '是否删除该商品?'
    })

    console.log(res)
  }

         点击“删除商品”:

        点击“取消”:

        点击“确定”:

3.  showToast 消息提示框

wx.showToast():消息提示框,根据用户的某些操作来告知操作的结果。

例如:退出成功给用户提示,提示删除成功等。

        编写代码:

  // 删除商品
  async delHandler(){
    
    // showModal 显示模态对话框
    const { confirm } = await wx.showModal({
      title: '提示',
      content: '是否删除该商品?'
    })
    // console.log(res)
    if(confirm){
      // showToast消息提示框
      wx.showToast({
        title: '删除成功',
        // 不显示图标
        icon:"none",
        // 消息提示框两秒后自动关闭
        duration:2000
      })
    }else{
      wx.showToast({
        title: '取消删除',
        icon:"error",
        // 消息提示框两秒后自动关闭
        duration:2000
      })
    }
  }

        点击取消:

        点击确定:

微信小程序开发_时光の尘的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/452034.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据库管理-第160期 Oracle Vector DB AI-11(20240312)

数据库管理160期 2024-03-12 数据库管理-第160期 Oracle Vector DB & AI-11&#xff08;20240312&#xff09;1 向量的函数操作to_vector()将vector转换为标准值vector_norm()vector_dimension_count()vector_dimension_format() 2 将向量转换为字符串或CLOBvector_seriali…

ChatGPT发了消息没有反应,并且搜索框变空是怎么回事?怎样解决?

最近许多用户反映使用ChatGPT时发了消息没有反应&#xff0c;并且搜索框变空了导致无法使用&#xff0c;接下来闪电发卡就分析一下是什么原因。 根本原因&#xff1a;是因为官方前端更新&#xff0c;后端接口部分报错&#xff0c;老用户使用Alpha测试中文语言导致。 解决方法&a…

【数据挖掘】实验1:R入门(内含详细R和RStudio安装教程)

实验1&#xff1a;R入门 一&#xff1a;实验目的与要求 1&#xff1a;根据上课PPT内容&#xff0c;掌握课堂知识并进行代码练习操作&#xff0c;提供练习过程和结果。 2&#xff1a;可COPY代码运行结果直接提交&#xff0c;如涉及到输出图等可截图。 二&#xff1a;实验内容 …

自建GitLab代码仓库ssh访问地址为localhost修改成域名

ssh改localhost为域名 抛出问题配置过程效果展示 抛出问题 自建的GitLab&#xff0c;代码仓库ssh访问地址为localhost&#xff0c;http地址显示域名没问题&#xff0c;就很奇怪。 找了很久帖子发现这个访问地址不在/etc/gitlab/gitlab.rb的系统配置中。 还有个帖子让改/etc/gi…

游戏开发中的坑之十三 Lut贴图相关问题

1.网上下载的或者游戏截帧得到的Lut贴图贴上之后可能效果如下&#xff0c;需要在PS里垂直方向反转一下贴图。 2.相关设置&#xff1a; &#xff08;1&#xff09;取消勾选sRGB&#xff1b; &#xff08;2&#xff09;像素为1024x32或者512x16&#xff1b; &#xff08;3&#…

学习笔记-华为IPD转型2020:2,IPD的核心思想

2&#xff0c;IPD的核心思想 以客户为导向&#xff1a;应该开发什么产品&#xff1f; 应该开发哪些产品&#xff1f;华为的“基本法”规定&#xff0c;其目的是为客户服务&#xff08;Huawei&#xff0c;1998&#xff09;。然而&#xff0c;在IPD实施后&#xff0c;对这种以客…

微信小程序开发系列(三十)·小程序本地存储API·同步和异步的区别

目录 1. 同步API 1.1 getStorageSync存储API 1.2 removeStorageSync获取数据API 1.3 removeStorageSync删除 1.4 clearStorageSync清空 2. 异步API 2.1 setStorage存储API 2.2 getStorage获取数据API 2.3 removeStorage删除API 2.4 clearStorage清空 3. …

YOLOv8改进 | 图像去雾 | 利用图像去雾网络AOD-PONO-Net网络增改进图像物体检测

一、本文介绍 本文给大家带来的改进机制是利用AODNet图像去雾网络结合PONO机制实现二次增强&#xff0c;我将该网络结合YOLOv8针对图像进行去雾检测&#xff08;也适用于一些模糊场景&#xff0c;图片不清晰的检测&#xff09;&#xff0c;同时本文的内容不影响其它的模块改进…

网康科技 NS-ASG 应用安全网关 SQL注入漏洞复现(CVE-2024-2330)

0x01 产品简介 网康科技的NS-ASG应用安全网关是一款软硬件一体化的产品,集成了SSL和IPSec,旨在保障业务访问的安全性,适配所有移动终端,提供多种链路均衡和选择技术,支持多种认证方式灵活组合,以及内置短信认证、LDAP令牌、USB KEY等多达13种认证方式。 0x02 漏洞概述 …

Redis底层数据结构之String

文章目录 1. 前提回顾2. RedisObject三大数据类型简介3. SDS字符串4. SDS字符串源码分析5. 总结 1. 前提回顾 前面我们说到redis的String数据结构在底层有多种编码方式。例如我们执行下面两条语句 set k1 v1 set age 17我们查看类型&#xff0c;发现这类型都是String类型 我们…

【力扣精选算法100道】——二进制求和

LCR 002. 二进制求和 - 力扣&#xff08;LeetCode&#xff09; 目录 &#x1f388;了解题意 &#x1f388;算法分析 &#x1f6a9;cur1>0 &#x1f6a9;cur2>0 &#x1f6a9;t &#x1f388;实现代码 &#x1f388;了解题意 遵循二进制加法法则&#xff0c;如果俩…

工具篇--分布式定时任务springBoot 整合 elasticjob使用(3)

文章目录 前言一、Springboot 整合&#xff1a;1.1 引入jar&#xff1a;1.2 配置zookeeper 注册中心&#xff1a;1.3 定义job 业务类&#xff1a;1.4 job 注册到zookeeper&#xff1a;1.5 项目启动&#xff1a;1.5.1 zookeeper 注册中心实例&#xff1a;1.5.2 任务执行日志输出…

【数据挖掘】练习1:R入门

课后作业1&#xff1a;R入门 一&#xff1a;习题内容 1.要与R交互必须安装Rstudio&#xff0c;这种说法对不对&#xff1f; 不对。虽然RStudio是一个流行的R交互集成开发环境&#xff0c;但并不是与R交互的唯一方式。 与R交互可以采用以下几种方法&#xff1a; 使用R Conso…

AHU 汇编 实验六

一、实验名称&#xff1a;实验6 输入一个16进制数&#xff0c;把它转换为10进制数输出 实验目的&#xff1a; 培养汇编中设计子程序的能力 实验过程&#xff1a; 源代码&#xff1a; data segmentbuff1 db Please input a number(H):$buff2 db 30,?,30 dup(?),13,10buff3 …

社交革命的引领者:探索Facebook如何改变我们的生活方式

1.数字社交的兴起 随着互联网的普及&#xff0c;社交媒体成为我们日常生活的重要组成部分。Facebook作为其中的先驱&#xff0c;从最初的社交网络演变成了一个拥有数十亿用户的全球化平台。它不仅改变了我们与世界互动的方式&#xff0c;还深刻影响了我们的社交习惯、人际关系以…

数据结构:树和二叉树

树的概念 1.树是一种非线性的数据结构。它是由n个有限节点的集合。 2.树分为根节点和子树。根节点没有前驱节点。 3.树的子树是由一个个子树组成&#xff0c;它们可以看作一个个集合。每个集合下面又有集合。 因此&#xff0c;树是递归定义的。 树形结构中&#xff0c;子树…

搜索引擎SEO策略介绍

baidu搜索&#xff1a;如何联系八爪鱼SEO baidu搜索&#xff1a;如何联系八爪鱼SEO baidu搜索&#xff1a;如何联系八爪鱼SEO 第一、 关键词的选择策略&#xff1a; 1、门户类的网站关键词选择策略&#xff1a; 网站每个页面本身基本都包含有关键词&#xff1a;网站拥有上百…

嵌入式数据库SQlite3-进阶篇

嵌入式数据库sqlite3 - HQ 文章目录 嵌入式数据库sqlite3 - HQ[toc] 嵌入式数据库sqlite3【进阶篇】数据库准备order子句Where 子句与逻辑运算符语法实例 group by子句having子句举例 函数SQLite COUNT 函数SQLite MAX 函数SQLite MIN 函数SQLite AVG 函数SQLite SUM 函数SQLit…

Qt 使用RAW INPUT获取HID触摸屏,笔设备,鼠标的原始数据,最低受支持的客户端:Windows XP [仅限桌面应用]

在开发绘图应用程序时&#xff0c;经常会需要读取笔设备的数据&#xff0c;通过对笔数据的解析&#xff0c;来判断笔的坐标&#xff0c;粗细。如果仅仅只是读取鼠标的坐标&#xff0c;就需要人为在应用程序端去修改笔的粗细&#xff0c;并且使用体验不好&#xff0c;如果可以实…

【C++】STL(五) Stack Queue容器

5、 stack容器 5.1 简介 ① stack是一种先进后出的容器&#xff0c;它只有一个出口。 ② 栈中只有顶端的元素才可以被外界使用&#xff0c;因此栈不允许有遍历行为。 ③ 栈中进入数据称为&#xff1a;入栈 push ④ 栈中弹出数据称为&#xff1a;出栈 pop 5.2 常用接口 …