少儿舞蹈小程序(12)作品列表查询搭建

目录

  • 前言
  • [1 创建页面](#1 创建页面)
  • [2 搭建顶部导航](#2 搭建顶部导航)
  • [3 搭建分类查询](#3 搭建分类查询)
  • [4 搭建双列布局](#4 搭建双列布局)
    • [4.1 搭建视频标识](#4.1 搭建视频标识)
    • [4.2 搭建流览量](#4.2 搭建流览量)
    • [4.3 播放视频](#4.3 播放视频)
  • [5 按照类别过滤数据](#5 按照类别过滤数据)
  • 整体效果
  • 总结

前言

上一篇我们在首页搭建了作品与活动展示功能,点击视频的时候可以播放,点击图片的时候可以全屏预览。

但是作品只是按照类别进行了展示,每个类别只显示了一个作品。为了让家长看到更多的作品,需要单独提供一个作品浏览的页面,原型如下:

在顶部列出所有分类,点击分类的时候可以进行过滤。

分类下边以双列的形式展示作品,同时展示作品的浏览量和点赞量。本节我们介绍一下具体的开发过程。

1 创建页面

打开我们的小程序应用

点击创建页面的图标

输入标题

回到首页,选中更多按钮,设置点击事件

方法选择打开页面

页面选择作品展示

这样配置之后,点击按钮的时候就可以跳转到作品展示页面

2 搭建顶部导航

在页面组件中添加布局组件,模板选择灰色

修改标题为作品与活动,右侧的文本内容改为🔍

需要覆盖一下默认的背景色,输入如下样式

bash 复制代码
:scope .wd-layout__header {
  background: linear-gradient(135deg, var(--primary-light), var(--primary-color));
  color: white;
}

3 搭建分类查询

在卡片内容里添加标签选择组件

输入标签项,这里需要注意的是我们的全部其实是不在枚举项里的,所以我们输入999

其余的保持和枚举值一样

关闭显示标题配置

4 搭建双列布局

查询条件下边是我们的内容区域,这块可以通过数据列表来搭建布局。在标签选择组件下边添加数据列表组件,选择列表模板和数据模型

在数据列表里将图片组件复制一份,绑定为缩略图字段

配置图片组件的条件展示,一个是类型等于图片的时候显示,一个是类型是视频的时候显示

4.1 搭建视频标识

当作品的类型是视频的时候,我们需要在右上角显示一个视频的字样。在图片外层添加一个普通容器,设置定位为相对定位

添加一个文本组件,设置文本内容📹 视频

设置文本的样式为

bash 复制代码
:root {
  top: var(--spacing-sm);
  color: white;
  right: var(--spacing-sm);
  padding: var(--spacing-xs) var(--spacing-sm);
  font-size: var(--font-size-xs);
  position: absolute;
  background: rgba(0, 0, 0, 0.6);
  border-radius: var(--border-radius-base);
}

4.2 搭建流览量

在第二个文本组件修改文本内容

bash 复制代码
`👁️ ${$w.item_listView1.views||0}  ❤️ ${$w.item_listView1.likes||0}`

4.3 播放视频

当点击缩略图的时候,我们需要打开一个弹窗来播放视频。选中页面组件,添加弹窗组件

里边添加视频播放组件

视频资源绑定为弹窗的传入参数

设置点击缩略图的时候打开弹窗,并且传入所在行的视频地址字段

5 按照类别过滤数据

布局搭建好之后,我们要让查询条件和数据列表进行联动。当点击查询条件的时候,要按照类别过滤数据。

这里有个问题是类别里我们并没有一个叫全部的,这种可以让查询条件赋值为undefined解决

先创建一个自定义变量用来保存查询条件

创建一个自定义方法,用来设置查询条件的值

输入如下代码

bash 复制代码
export default function({event, data}) {
   const condition = $w.tagSelect1.value
   console.log(condition)
   if(condition=="999"){
     $w.page.dataset.state.category = undefined
   }else{
    $w.page.dataset.state.category = condition
   }
}

设置标签选择的值改变事件,选择我们的自定义方法

还有就是一开始的时候,需要把变量赋值为undefined

整体效果

在首页点击更多的时候跳转到作品列表页面

点击查询条件,可以进行过滤

总结

本篇我们带着大家搭建了作品列表页面,讲解了标签选择和数据列表组件的使用。标签选择可以方便的设置像分类这种有固定值的查询条件,而数据列表不仅可以加载数据,通过设置模板就可以搭建出我们需要的布局来。下一篇我们介绍一下阅读量累加及点赞的功能,敬请期待。

相关推荐
启扶农14 小时前
lecen:一个更好的开源可视化系统搭建项目--数据、请求、寄连对象使用--全低代码|所见即所得|利用可视化设计器构建你的应用系统-做一个懂你的人
低代码·数据对象·数据访问·页面可视化·页面设计器·请求对象·寄连对象
流之云低代码平台14 小时前
提升PHP开发效率与质量的关键:工作流优化
低代码·php工作流优化方法·php代码优化·php开发流程优化·tpflow工作流引擎应用·gadmin企业级开发平台优势·软件开发速度提升
说私域14 小时前
短视频私域流量池的变现路径创新:基于AI智能名片链动2+1模式S2B2C商城小程序的实践研究
大数据·人工智能·小程序
毕设源码-邱学长16 小时前
【开题答辩全过程】以 基于微信小程序的松辽律所咨询系统的设计与实现为例,包含答辩的问题和答案
微信小程序·小程序
#六脉神剑17 小时前
用myBuilder搭建企业级数字化业务系统架构
低代码·系统架构·低代码开发平台·数字化工具·mybuilder
+VX:Fegn089518 小时前
计算机毕业设计|基于springboot + vue物流配送中心信息化管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·小程序·课程设计
说私域18 小时前
B站内容生态下的私域流量运营创新:基于AI智能名片链动2+1模式与S2B2C商城小程序的融合实践
人工智能·小程序·流量运营
计算机毕设指导619 小时前
基于微信小程序的钓鱼论坛系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·maven
qq_124987075319 小时前
基于微信小程序的宠物交易平台的设计与实现(源码+论文+部署+安装)
java·spring boot·后端·微信小程序·小程序·毕业设计·计算机毕业设计
晴虹20 小时前
lecen:一个更好的开源可视化系统搭建项目--数据、请求、寄连对象使用--全低代码|所见即所得|利用可视化设计器构建你的应用系统-做一个懂你的人
前端·后端·低代码