家政预约小程序07服务分类展示

目录

  • [1 创建服务分类页面](#1 创建服务分类页面)
  • [2 侧边栏选项卡配置](#2 侧边栏选项卡配置)
  • [3 配置数据列表](#3 配置数据列表)
  • [4 从首页跳转到分类页](#4 从首页跳转到分类页)
  • 总结

上一篇我们开发了首页的服务展示功能,本篇我们讲解一下服务分类功能的开发。在小程序中通常在底部导航栏有一个菜单可以展示所有服务,侧边选项卡可以展示分类信息,切换分类可以显示该分类下的服务内容,效果如下:

1 创建服务分类页面

打开应用编辑器,点击页面创建,创建服务分类页面

2 侧边栏选项卡配置

从组件库添加侧边栏选项卡组件

左侧的分类信息需要从数据源中读取,在代码区点击新建,创建一个微搭数据表查询

选择我们的服务分类表

修改变量名为categoryList

点击fx,会显示出配置的格式

bash 复制代码
[
  {
    "label": "标签1",
    "value": "1",
    "iconType": "none",
    "innerIcon": "",
    "outerImage": "",
    "iconPosition": "prefix",
    "isDisabled": false,
    "__sortid__": "5a3FLOtq49GpHzzI5wCzb"
  }
]

这里主要需要的是两个属性一个是label,配置之后就是侧边栏选项卡的中文名称,还有就是value,这个值一般是标签被选中之后的值

在微搭中如果希望变量绑定符合组件要求的,我们通常需要重新配置一下变量的内容,这里用到了数组的map方法,map方法会迭代数组里的每一个元素,并按照我们的要求重新返回新的属性

表达式如下

bash 复制代码
$w.categroyList.data.records.map(item=>({
    label:item.flmc,
    value:item._id
}))

变量绑定之后默认我们的选项卡没有被选中

默认选中项需要结合首页考虑,如果是从首页上点击的,那需要将首页的点击项传过来,我们选中页面组件,创建一个URL参数,输入id

然后点击选中标签的fx

如果传入参数有值我们就绑定传入的参数,否则我们从数组的第一个元素取值

bash 复制代码
$w.page.dataset.params.id||$w.categroyList.data.records[0]._id

3 配置数据列表

内容部分我们用数据列表进行配置,选中侧边栏选项卡的内容插槽,添加数据列表组件

选择模板为卡片列表,数据模型选择服务管理,为了显示多一点内容,选中列,将其调整为4,这样一行就显示了3列

修改图片的宽和高,设置为64

选中文本组件,打开溢出省略

设置第二个文本,配置为优惠价格

数据列表配置好之后要和我们的侧边栏选项联动,设置数据筛选

设置为服务分类等于我们侧边栏选项卡的选中标签

4 从首页跳转到分类页

首页我们现在设置了分类版块,在点击的时候需要跳转到分类页,并且选中对应的分类标签。切换到首页,找到我们的分类组件,需要重新配置一下导航的跳转信息

bash 复制代码
$w.categroyList.data.records.map((item,index)=>({
   "icon": "自定义图片",
    "iconSrc": item.fltb, "title": item.flmc, "tapStatus": "inside",insideUrl: 'u_fu_wu_fen_lei',withParams: true, 
            params: [
                {key: 'id',value: item._id}
            ]
}))

这里tapStatus配置为inside表示要跳转到内部页面,insideUrl需要传入页面ID,withParams表示跳转的时候要传参,而params配置了传入的具体参数信息

总结

本篇我们介绍了服务分类展示功能的开发过程,具体涉及到组件联动,页面传参的知识点,尤其通过map方法重新构造属性是必知必会的点,在动态展示数据源内容的会经常遇到,照着教程练习一遍吧。

相关推荐
说私域6 分钟前
基于开源AI智能名片链动2+1模式S2B2C商城小程序的公益课引流策略研究
人工智能·小程序·开源
2501_9151063211 分钟前
Charles抓包工具在接口性能优化与压力测试中的实用方法
ios·性能优化·小程序·https·uni-app·压力测试·webview
weixin_472183543 小时前
微信小程序预览和分享文件
微信小程序·小程序
墨霁青玉3 小时前
微信小程序一个页面同时存在input和textarea,bindkeyboardheightchange相互影响
微信小程序·小程序
万岳科技程序员小金5 小时前
餐饮、跑腿、零售多场景下的同城外卖系统源码扩展方案
人工智能·小程序·软件开发·app开发·同城外卖系统源码·外卖小程序·外卖app开发
tianyuanwo6 小时前
低代码开发平台技术总结
低代码
毕设源码-邱学长13 小时前
【开题答辩全过程】以 小众商户小程序为例,包含答辩的问题和答案
小程序
sheji341615 小时前
【开题答辩全过程】以 基于微信小程序的“XIN”学生组织管理系统为例,包含答辩的问题和答案
微信小程序·小程序
一匹电信狗15 小时前
【Linux我做主】细说进程等待
linux·运维·服务器·c++·ubuntu·小程序·开源
2501_9159090616 小时前
uni-app iOS 上架常见问题与解决方案,实战经验全解析
android·ios·小程序·https·uni-app·iphone·webview