医疗小程序10预约挂号日历切换

目录

  • [1 日期选择组件](#1 日期选择组件)
    • [1.1 页面效果](#1.1 页面效果)
    • [1.2 创建变量](#1.2 创建变量)
    • [1.3 搭建布局](#1.3 搭建布局)
    • [1.4 设置选中效果](#1.4 设置选中效果)
  • 最终效果
  • 总结

上一篇我们分析了如何实现科室医生排班的功能,有了排班计划就可以在小程序里展示号段,供患者进行预约。本篇我们介绍一下小程序部分如何实现预约挂号日历切换的功能。

1 日期选择组件

1.1 页面效果

预约挂号第一个要实现的效果是日期切换,打开页面的时候可以看到最近七天的挂号情况,选中一个日期的时候有切换的效果

我们先创建一个日期选择页面

1.2 创建变量

要实现这个切换效果,我们先定义一组数据。在代码区点击点击新建,创建一个自定义变量

输入变量的名称,类型选择数组

默认值输入如下

bash 复制代码
[
  {
    "date": "11-19",
    "label": "今日",
    "hasSlot": "有号",
    "select": true,
    "id": 1
  },
  {
    "date": "11-20",
    "label": "周四",
    "hasSlot": "有号",
    "select": false,
    "id": 2
  },
  {
    "date": "11-21",
    "label": "周五",
    "hasSlot": "有号",
    "select": false,
    "id": 3
  },
  {
    "date": "11-22",
    "label": "周六",
    "hasSlot": "有号",
    "select": false,
    "id": 4
  },
  {
    "date": "11-23",
    "label": "周日",
    "hasSlot": "有号",
    "select": false,
    "id": 5
  },
  {
    "date": "11-24",
    "label": "周一",
    "hasSlot": "有号",
    "select": false,
    "id": 6
  },
  {
    "date": "11-25",
    "label": "周二",
    "hasSlot": "有号",
    "select": false,
    "id": 7
  }
]

1.3 搭建布局

变量创建好了之后,我们就可以搭建布局了。因为日历提供了最近7天选择,所以需要有横向滚动条来拉动显示。在列里添加一个滚动容器,设置允许横向滚动

滚动容器里添加普通容器

里边添加循环展示组件

将循环展示的数据属性绑定为我们定义的变量

调整循环展示里边的布局,按照我们数据结构,显示星期、日期和号段状态

依次给文本组件绑定属性

给循环展示外层的普通容器设置宽,布局设置为横向排列。当你设置的宽度超过滚动容器的默认宽度就会出现滚动条。

设置循环展示里边的普通容器,设置宽和默认的背景色

1.4 设置选中效果

当日期被选中时,我们需要让容器的背景色改变,文字的颜色改变。需要重置我们数组中的select属性,选中的元素设置为true,其余的设置为false。为此需要创建一个javascript代码

输入如下代码

bash 复制代码
export default function({ event, data }) {
  const id = data.target;
  const list = $w.page.dataset.state.canSelectDate || [];
  // 遍历一次:命中项 select=true,其余 false
  list.forEach(item => item.select = (item.id == id));
  // 通知前端刷新(低代码平台需要手动 setData)
  $w.page.dataset.state.canSelectDate = [...list];
}

给普通容器设置点击事件,调用我们的方法,并且传入当前元素的id

然后给普通容器绑定style属性

bash 复制代码
$w.item_repeater1.select?{background:"#EDF5FF"}:{}

给内层的普通容器绑定一个深蓝色的背景

其余文本也按照同样的方式绑定,就实现了选中之后文本高亮的效果

最终效果

当进入页面的时候,今日选项默认选中

可以切换到其他日期

总结

本篇我们介绍了挂号场景的第一个组件效果,日期切换。思路是利用预定义的数据结构,结合滚动容器、循环展示、样式绑定等,结合自定义代码来重设选中未选中进行效果切换。因为低代码是纯靠组件实现,不像纯代码可以直接操作dom,是需要进行一番思考的。

相关推荐
计算机程序设计小李同学2 小时前
婚纱摄影集成管理系统小程序
java·vue.js·spring boot·后端·微信小程序·小程序
启扶农3 小时前
lecen:一个更好的开源可视化系统搭建项目--全局对象使用--全低代码|所见即所得|利用可视化设计器构建你的应用系统-做一个懂你的人
低代码·数据访问·页面可视化·页面设计器·全局对象·公共属性·工具方法
幽络源小助理5 小时前
SpringBoot+小程序高校素拓分管理系统源码 – 幽络源免费分享
spring boot·后端·小程序
Mr -老鬼6 小时前
移动端跨平台适配技术框架:从发展到展望
android·ios·小程序·uni-app
内存不泄露6 小时前
棋牌预约小程序系统论文
小程序
启扶农1 天前
lecen:一个更好的开源可视化系统搭建项目--数据、请求、寄连对象使用--全低代码|所见即所得|利用可视化设计器构建你的应用系统-做一个懂你的人
低代码·数据对象·数据访问·页面可视化·页面设计器·请求对象·寄连对象
流之云低代码平台1 天前
提升PHP开发效率与质量的关键:工作流优化
低代码·php工作流优化方法·php代码优化·php开发流程优化·tpflow工作流引擎应用·gadmin企业级开发平台优势·软件开发速度提升
说私域1 天前
短视频私域流量池的变现路径创新:基于AI智能名片链动2+1模式S2B2C商城小程序的实践研究
大数据·人工智能·小程序
毕设源码-邱学长1 天前
【开题答辩全过程】以 基于微信小程序的松辽律所咨询系统的设计与实现为例,包含答辩的问题和答案
微信小程序·小程序
#六脉神剑1 天前
用myBuilder搭建企业级数字化业务系统架构
低代码·系统架构·低代码开发平台·数字化工具·mybuilder