当前位置: 首页 > news >正文

宠物寄养小程序实战教程02

目录

  • 地区选择
    • 创建全局变量
    • 创建页面变量
  • 实现地图选择效果
  • 给图标设置点击事件
  • 弹窗组件的用法
  • 总结

我们上一篇介绍了宠物寄养小程序的总体功能和数据源设计,本篇我们介绍一下首页功能的开发。

首页的功能点一共包含

  • 地区选择
  • 检索
  • 轮播图
  • 横向滚动图文列表
  • 关注功能
  • 纵向图文列表

地区选择

我们参照的这个小程序地区选择的效果是点击地图的图标,弹出一个地区选择的窗口,选择好省市区之后将选中的地区回填到顶部导航条上。

要想回填后我们先需要获取到地区的信息,必须将选中的地区赋值给变量。为此我们需要定义一个全局变量area来接收我们选中的地区

创建全局变量

创建变量的方法也比较简单,点击导航条的变量

在这里插入图片描述
将鼠标移动到全局(global)会出现一个+号,点击+号即可创建变量
在这里插入图片描述
创建变量的时候先需要输入变量的标识,标识我们起一个比较好辨识的名字,我们这里用英文命名,area
在这里插入图片描述
设置好变量标识后还需注意变量的类型。微搭里一共有三种变量可以定义,分别是数据模型变量、普通变量、参数变量。

数据模型变量一般是调用数据源的增删改查方法,方法调用后会有返回值,将返回值赋值给变量。

普通变量就是我们javascript可以定义的变量,分别有字符串(string)、数字(number)、boolean(布尔值)、数组(array)、对象(object)

在这里插入图片描述
参数变量一般是用来接收页面传入的参数的,通常会用在详情页,我们可以接收数据标识来获取当前数据

因为我们地区选择好之后是个字符,我们在定义的时候选择string类型
在这里插入图片描述
变量创建成功之后有个变量路径,微搭在低码编辑器中如果需要使用变量的,通常都需要这个变量路径。

在这里插入图片描述

创建页面变量

除了我们上述所属变量的类型外,按照变量的作用域,变量又分为全局变量和页面变量。创建的全局变量所有页面都可以访问。页面变量只能在本页面中访问。

创建方法和全局变量相同,找到对应需要创建变量的页面,点击+号进行创建
在这里插入图片描述
我们点击地图图标时需要弹出选择框,而选中地区后弹出选择框需要消失不见。为此我们需要定义一个布尔类型的变量来控制弹窗是否显示。

在这里插入图片描述
在这里插入图片描述
像boolean类型的变量定义之后是有默认值的,默认是false。我们需要在恰当的时机将变量修改为true
在这里插入图片描述

实现地图选择效果

我们往页面添加一个普通容器,里边放置一个图标组件和文本组件用来展示城市选择的效果
在这里插入图片描述
默认图标和文本是纵向排列的,我们需要将图标和文本横向排列。选中普通容器,切换到样式页签,设置布局为flex布局
在这里插入图片描述
可以添加一些内边距
在这里插入图片描述
如果习惯写代码,也可以直接点击样式代码编辑,直接添加样式

self {
    padding-top: 40px;
    padding-bottom: 40px;
    padding-left: 40px;
    display: flex
}

图标和文本需要有一定的间隔,我们可以选中图标,添加一下外边距
在这里插入图片描述
预置图标我们可以选择地图,这样看到图标就知道是什么意思
在这里插入图片描述
文本内容需要从全局变量绑定,绑定方法是选中文本组件,点击文本内容旁边的超链接图标
在这里插入图片描述
选择全局变量的area即可
在这里插入图片描述

给图标设置点击事件

要想实现点击图标就能弹出窗口,我们需要给图标增加点击事件。选中图标,增加行为
在这里插入图片描述
我们选择平台方法的赋值方法,给isShow赋值为true
在这里插入图片描述
设置好之后我们需要调试一下,看看是否真正赋值成功了。点击一下开发调试工具
在这里插入图片描述
在光标处输入$page.dataset.state.isShow
在这里插入图片描述
按回车,看一下输出,我们目前是初始值,false
在这里插入图片描述
我在编辑器中点一下图标,再次输入$page.dataset.state.isShow看一下结果
在这里插入图片描述
在这里插入图片描述
我们可以看到,点击图标之后值变成了’true’这个是字符串的意思,显然和我们的预期不符。导致这个现象的原因是因为我们在赋值的时候是直接输入了true。为了解决这个问题,我们赋值那需要在表达式里输入true

可以直接点击setState调起设置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样修改之后,再次测试,发现就正确了
在这里插入图片描述

弹窗组件的用法

现在只是改变了isShow的变量值,这个值设置成true之后,还需要将窗口弹出显示。在微搭中是使用弹窗组件实现的,往页面中添加一个弹窗组件
在这里插入图片描述
窗口是否显示是由显示窗口这个配置来决定的,我们可以绑定为我们的isShow变量来进行切换
在这里插入图片描述
还有就是,关闭或者点击确定按钮都需要将isShow赋值为false。我们给弹窗组件设置行为,两个事件都添加赋值的动作,都将isShow变量赋值为false
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

本篇一步步的带着大家实现地图点选,弹出弹框的功能。下一篇我们就往弹框里添加城市,选中城市后可以出现在顶部。

相关文章:

  • 【计算机网络】运输层习题(谢希仁)(1)
  • 微信小程序抓包-夜神模拟器结合BurpSuite抓包(可用于现在最新版本微信)
  • SAR/毫米波雷达 论文阅读 | Freehand, Agile, and High-Resolution Imaging, IEEE Access 2019
  • 神经网络一词在英文中是,网络词神经质什么意思
  • KOOM原理讲解(上)-JAVA内存分析
  • create-vite‘ 不是内部或外部命令,也不是可运行的程序
  • 【JS】牛客专项练习01
  • 计算机组成原理 | 总线
  • 简单神经网络算法原理,最简单的神经网络算法
  • 【在线教育】POI入门
  • 浅析RocketMQ-存储文件
  • 【JAVA】继承和多态的子类和父类代码执行顺序研究
  • ConcurrentHashMap put和扩容的源码深度解析(内含JDK8中3个bug以及修复的版本)
  • 广义线性混合模型(GLMM)变量选择
  • 计算机如何执行减法运算
  • Apache的基本使用
  • Facebook AccountKit 接入的坑点
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • Hexo+码云+git快速搭建免费的静态Blog
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • js如何打印object对象
  • Just for fun——迅速写完快速排序
  • REST架构的思考
  • RxJS: 简单入门
  • windows下如何用phpstorm同步测试服务器
  • 阿里研究院入选中国企业智库系统影响力榜
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 我们雇佣了一只大猴子...
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #《AI中文版》V3 第 1 章 概述
  • (5)STL算法之复制
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (Java数据结构)ArrayList
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (转载)OpenStack Hacker养成指南
  • .dwp和.webpart的区别
  • .NET CORE Aws S3 使用
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • .NET中的十进制浮点类型,徐汇区网站设计
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • [ACL2022] Text Smoothing: 一种在文本分类任务上的数据增强方法
  • [APIO2015]巴厘岛的雕塑
  • [C#]无法获取源 https://api.nuge t.org/v3-index存储签名信息解决方法
  • [C++] 默认构造函数、参数化构造函数、拷贝构造函数、移动构造函数及其使用案例
  • [CVPR 2023:3D Gaussian Splatting:实时的神经场渲染]
  • [Linux]进程间通信(进程间通信介绍 | 匿名管道 | 命名管道)
  • [Lucene] Lucene 全文检索引擎简介
  • [MAUI]集成高德地图组件至.NET MAUI Blazor项目
  • [NOIP2014] 提高组 洛谷P1941 飞扬的小鸟
  • [PyQt] Pycharm 配置 PyQt 开发环境
  • [SpringBoot] AOP-AspectJ 切面技术
  • [SRM603] WinterAndSnowmen
  • [Tcpdump] 网络抓包工具使用教程