订水商城实战教程10-宫格导航

news/2024/7/24 12:16:17 标签: 数据库, 微搭, 低代码

上一篇我们介绍了跑马灯的功能,这一篇就进入到我们的主体部分开发。在订水商城业务中可以按照分类查询商品信息,这就涉及到数据源的拆分。

我们在数据源的设计中区分为主子表,主表呢存储唯一的记录,子表的记录可以重复,子表的信息和主表进行关联。

微搭中对于这种主子表业务的在数据源设计时需要建立关联关系,我们来先讲解一下数据源的设计。

1 数据源搭建

主子表业务的,先需要创建主表的信息,我们打开控制台,点击数据模型,点击新建
在这里插入图片描述
输入数据源的名称,订水商城分类信息
在这里插入图片描述

点击编辑添加字段,先添加分类名称
在这里插入图片描述
再添加分类图标,类型选择图片
在这里插入图片描述
再增加排序字段,类型选择数字
在这里插入图片描述
分类添加好之后,我们添加子表,子表的创建方式是相同的,名称输入订水商城商品信息,先添加一个商品名称字段,类型选择文本
在这里插入图片描述
再添加价格字段,类型选择数字
在这里插入图片描述
添加展示图片字段,类型选择图片
在这里插入图片描述
添加商品详情字段,类型选择富文本
在这里插入图片描述
添加是否启用字段,类型选择布尔值
在这里插入图片描述
添加商品分类字段,类型选择关联关系,关联模型选择分类表
在这里插入图片描述
这样主子表就搭建好了

2 设置宫格导航

数据源添加好了之后,就可以继续开发我们的首页了,在开发之前,我们先录入测试数据。

选中我们的分类数据模型,在三个点,点击管理数据
在这里插入图片描述
录入我们需要的数据
在这里插入图片描述
打开应用,添加宫格导航组件
在这里插入图片描述
清空导航配置,点击fx进行数据绑定
在这里插入图片描述
绑定之前我们需要先创建一个变量,点击代码区的+号创建变量
在这里插入图片描述
选择新建微搭数据表查询
在这里插入图片描述
选择分类数据源,触发方式选择入参变化时自动执行
在这里插入图片描述
排序方式我们按照序号进行排序
在这里插入图片描述
先点击保存,将变量名改为category
在这里插入图片描述
fx绑定我们的表达式

$w.category.data.records.map(item=>({
     "icon": "自定义图片", "iconSrc": item.fltb, "title": item.flmc, "tapStatus": "tap"
}))

在这里插入图片描述

3 宫格导航配置讲解

这里的表达式我们使用了数组的迭代,然后重新组装了数据

这段代码是在JavaScript中使用数组的map方法和箭头函数对w.category.data.records数组中的每个元素进行处理并返回新的数组。

具体来说,map方法是数组的一个方法,用于创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后的返回值。在这个例子中,该函数是一个箭头函数,它接收item作为参数,并返回一个新的对象。

这个箭头函数的结构是(item) => ({ “icon”: “自定义图片”, “iconSrc”: item.fltb, “title”: item.flmc, “tapStatus”: “tap” })。箭头函数没有自己的this值,它继承自父执行上下文。如果函数体中没有包含this关键字,则使用父级执行上下文的this值。

这个箭头函数做了以下事情:

“icon”: “自定义图片”:创建一个键为"icon",值为"自定义图片"的新对象。
“iconSrc”: item.fltb:创建一个键为"iconSrc",值为item.fltb的新对象。这里假设item.fltb是存在的。
“title”: item.flmc:创建一个键为"title",值为item.flmc的新对象。这里同样假设item.flmc是存在的。
“tapStatus”: “tap”:创建一个键为"tapStatus",值为"tap"的新对象。
然后返回这个新创建的对象。

所以这段代码的结果是一个新的数组,数组中的每个元素都是一个对象,这个对象有四个属性:“icon”、“iconSrc”、“title"和"tapStatus”。其中,“icon"的值总是"自定义图片”,而其他三个属性的值分别来自原始数组的对应元素。

总结

我们本篇带着大家实现了一下宫格导航的功能,先需要创建变量用来获取数据,然后在数据绑定的时候按照格式要求重新进行组装。在微搭中,组件的数据绑定时,重新组装数据是非常常见的,主要还是要熟悉javascript的语法,这样就可以做到应用自如。


http://www.niftyadmin.cn/n/5186440.html

相关文章

PTA 6-1 删除字符串中所有*

本题要求实现一个函数,字符串由字符和 * 号组成,要求删除字符串中所有的 * 号。如 abCDd*ef**,则函数执行结果为abCDdef。 函数接口定义: void del_star ( char x[] ); 其中 x 是用户传入的参数。 裁判测试程序样例&#xff1a…

创米云无代码开发:连接CRM、用户运营、广告推广,实现电商平台的高效集成

创米云无代码开发简介 作为一家专注于小程序开发的优质IT技术服务商,创米云提供了国内领先的自主研发的小程序开发工具。这款工具的制作过程无需任何代码,用户只需利用拖拽可视化组件即可完成小程序的开发。创米云的小程序开发工具拥有海量的小程序行业…

代理服务器配置

在Vue项目的根目录下创建一个vue.config.js文件,并添加以下代码: module.exports {devServer: {proxy: {/: {target: 目标服务器地址,changeOrigin: true,pathRewrite: {^/: }}}} }上述代码中,我们使用devServer配置项来配置代理服务器。其…

qt槽函数的四种写法

槽函数的四种写法 一,Qt4写法 不推荐这种写法,如果SLGNAL写错了,或者信号名字,槽函数名字写错了.编译器检查不出来,导致程序无响应,引起不必要的误解 connect(ui.btnOpen,SLGNAL(clicked),this,SLOT(open()));二,Qt5写法 推荐使用这种写法,信号名字、槽函数名字…

龙迅LT8912B 单通道MIPIDSI桥接LVDS+HDMI(1.4)同显点屏LVDS,加环出一路HDMI

龙迅LT8912B 描述: Lontium LT8912B MIPIDSI到LVDS和HDMI桥采用单通道MIPID-PHY接收器前端配置,每个通道有4个数据通道,每个数据通道运行1.5Gbps,最大输入带宽可达6Gbps。对于屏幕应用,该桥解码MIPIDSI 18bpp RGB666和24bpp RGB…

【数据标注】Label Studio用于机器学习标注

原文作者:我辈李想 版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。 文章目录 前言一、使用 Label Studio标注数据1.版本控制 二、Label Studio绑定机器学习后端三、重写机器学习后端四、通过api执行Label Studio动作 前言…

ZYNQ_project:test_fifo_255X8

首先,这个vivado的fifo和quartus有很大不同。 用BRAM来实现异步fifo。 vivado的fifo有复位,在时钟信号稳定后,复位至少三个时钟周期(读写端口的慢时钟),复位完成后30个时钟周期后再进行写操作&#xff08…

Python+Selenium WebUI自动化框架 -- 基础操作封装

前言: 封装Selenium基本操作,让所有页面操作一键调用,让UI自动化框架脱离高成本、低效率时代,将用例的重用性贯彻到极致,让烦人的PO模型变得无所谓,让一个测试小白都能编写并实现自动化。 知识储备前提&a…