处理key value数据

在这里插入图片描述
在这里插入图片描述

循环以上数据

	<u-popup :round="10" :show="tab === 'OilType'" @close="close" mode="bottom"><view class="container"><view v-for="(allData, allType) in allList" :key="allType"><view class="title">{{ allType }}</view><view class="box"><view v-for="item in allData" :key="item.id" @click="checkItem(item,allType)":class="{ active: isActive(item, allType) }">{{ item.name }}</view></view></view></view></u-popup>

css

	.container .title {display: flex;margin: 10rpx 0;font-family: PingFang SC, PingFang SC;font-weight: 700;font-size: 32rpx;color: #1A1D1F;}.container .box {display: flex;margin: 10rpx 0;flex-wrap: wrap;justify-content: left;}.container .box>view {border: 1px solid #ccc;border-radius: 50rpx;font-size: 30rpx;padding: 6rpx 46rpx;margin: 10rpx;text-align: center;}.container .box .content:last-child {margin-right: 0;}.container .box>view.active {padding: 6rpx 46rpx;background-color: rgb(251, 227, 213) !important;text-align: center;font-size: 24rpx;border-radius: 50rpx;border: 2rpx solid #FD893F !important;color: #FD893F;}

完整代码

<template><view class="hello"><view class="filter"><view @click="checkTab('OilType')" :class="{ active: !!allSelectData }">{{ allSelectData ? allSelectData : "全部" }}<text class="icon cuIcon-triangledownfill"></text></view><view @click="checkTab('distance')" :class="{ active: !!disSelectData }">{{ disSelectData ? disSelectData : "距离" }}<text class="icon cuIcon-triangledownfill"></text></view><view @click="checkTab('filter')">筛选<text class="icon cuIcon-triangledownfill"></text></view></view><u-popup :round="10" :show="tab === 'OilType'" @close="close" mode="bottom"><view class="container"><view v-for="(allData, allType) in allList" :key="allType"><view class="title">{{ allType }}</view><view class="box"><view v-for="item in allData" :key="item.id" @click="checkItem(item,allType)":class="{ active: isActive(item, allType) }">{{ item.name }}</view></view></view></view></u-popup><u-popup :round="10" :show="tab === 'distance'" @close="close" mode="bottom"><view class="distance"><view class="disItem" v-for="(item, index) in distance" :key="index" @click="checkDistance(item)"><view class="title">{{ item.title }}</view></view></view></u-popup><u-popup :round="10" :show="tab === 'filter'" @close="close" mode="bottom"><view class="container"><view v-for="(item, itemIndex) in filter" :key="itemIndex"><view><view class="title">{{ item.title }}</view><view class="box"><view class="content" v-for="(f, fIndex) in item.children" :key="fIndex"@click="checkFilter(itemIndex, fIndex)" :class="{ active: f.check }">{{ f.title }}</view></view></view></view><view class="bottom"><button class="btnOne" type="info" @click="reSet">重置</button><button class="btnTwo" type="primary" @click="success">确定</button></view></view></u-popup></view>
</template><script>import {oilType} from '@/api/distance.js'export default {props: {},data() {return {activeType: null, // 当前活动的类型(汽油、柴油等)  activeId: null, // 当前活动的ID  allSelectData: "", //全部disSelectData: "", //距离tab: "", //控制弹框的显示与隐藏 allList: {},distance: [{title: '距离最近'}, {title: '推荐排序'}, {title: '价格降序'}, {title: '价格升序'}],filter: [{title: "周边",children: [{title: "洗手间",check: false,}, {title: "提供发票",check: false,}, {title: "便利店",check: false,},{title: "免费洗车",check: false,},{title: "免费就餐",check: false,},],}, ]};},onShow() {},methods: {// 全部数据getOilType() {oilType().then(res => {this.allList = res.data.data})},// 全部弹框信息checkItem(item, allType) {// 更新活动的类型和ID  this.activeType = allType;this.activeId = item.id;// 关闭弹框  this.close();},// 高亮isActive(item, allType) {// 判断当前项是否是活动的  return this.activeType === allType && this.activeId === item.id;},// 关闭close() {this.tab = "";},// tab栏checkTab(type) {this.tab = type;this.getOilType()},// 距离checkDistance(item) {item.check = true;if (item.title === '推荐排序') {this.disSelectData = '推荐';} else if (item.title === '距离最近') {this.disSelectData = '距离';} else if (item.title === '价格降序' || item.title === '价格升序') {this.disSelectData = '价格';}this.tab = "";},// 筛选checkFilter(f) {f.check = truethis.tab = "";},checkFilter(itemIndex, fIndex) {// 切换当前选项的选中状态  this.filter[itemIndex].children[fIndex].check = !this.filter[itemIndex].children[fIndex].check;},success() {// 处理确定按钮的逻辑,比如提交筛选条件等  // 然后关闭弹出窗口  this.tab = ''; // 假设关闭弹出窗口是通过将tab设置为空字符串实现的  },reSet() {// 重置所有选项的选中状态  this.filter.forEach(item => {item.children.forEach(f => {f.check = false;});});}},};
</script><style lang="scss">.icon {color: #A7A7A7;}.filter {display: flex;justify-content: space-between;}.filter>view {margin-left: 80rpx;/* width: 33%; */}.filter>view.active {color: #FD893F;}.distance {padding: 30rpx 48rpx;.disItem {text-align: center;line-height: 100rpx;height: 100rpx;width: 100%;border-bottom: 2rpx solid #f9f9f9;}}.container {padding: 30rpx 48rpx;.bottom {display: flex;justify-content: space-between;.btnOne {width: 100%;margin-right: 10rpx;font-size: 28rpx;}.btnTwo {width: 100%;font-size: 28rpx;}}}.container .title {display: flex;margin: 10rpx 0;font-family: PingFang SC, PingFang SC;font-weight: 700;font-size: 32rpx;color: #1A1D1F;}.container .box {display: flex;margin: 10rpx 0;flex-wrap: wrap;justify-content: left;}.container .box>view {border: 1px solid #ccc;border-radius: 50rpx;font-size: 30rpx;padding: 6rpx 46rpx;margin: 10rpx;text-align: center;}.container .box .content:last-child {margin-right: 0;}.container .box>view.active {padding: 6rpx 46rpx;background-color: rgb(251, 227, 213) !important;text-align: center;font-size: 24rpx;border-radius: 50rpx;border: 2rpx solid #FD893F !important;color: #FD893F;}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/36119.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

注意!流量卡的禁区并不一样,请看清楚后再下单!

大家好&#xff0c;我是搜卡之家&#xff0c;今天我又来给大家科普了&#xff01; 今天科普的内容是关于流量卡禁区&#xff01; 首先要说一下&#xff0c;流量卡为什么会有禁区&#xff1f;运营商设立禁区主要是为了应对电信诈骗和违法使用电话卡的行为&#xff0c;确保网络…

Web应用和Tomcat的集成鉴权2-Form Authentication

作者:私语茶馆 1.相关章节 1) Web应用和Tomcat的集成鉴权1-BasicAuthentication-CSDN博客 2) Web应用和Tomcat的集成鉴权2-Form Authentication-CSDN博客 集成鉴权+定制化登录 2.前言 上章讲述了Tomcat的Basic Authentication鉴权模式,可以让Web应用和Tomcat的鉴权集成起来…

【Flink metric(1)】Flink指标系统的系统性知识:获取metric以及注册自己的metric

文章目录 一. Registering metrics&#xff1a;向flink注册新自己的metrics1. 注册metrics2. Metric types:指标类型2.1. Counter2.2. Gauge2.3. Histogram(ing)2.4. Meter 二. Scope:指标作用域1. User Scope2. System Scope ing3. User Variables 三. Reporter ing四. System…

面试题-Java垃圾回收之垃圾收集器

1.基础知识 (1)知识点补充 Stop -the -World:发生时&#xff0c;除了GC所用的线程之外&#xff0c;所有的线程都处于等待状态 Safepoint: 可达性分析算法时&#xff0c;必须保证在某个快照点进行。 分析的过程中对象的引用关系不会发生变化&#xff01; JVM的运行模式&#x…

数据结构-分析期末选择题考点(排序)

何似清歌倚桃李 一炉沈水醉红灯 契子 ✨ 上一期给大家提供了大概会考的题型给老铁们复习的大致思路 这一期还会是一样&#xff0c;我将整理一下排序的题型以及解题方法给你们 由于时间还很多&#xff0c;我就慢慢总结吧&#xff0c;一天一章的样子&#xff0c;明天总结串、后天…

MyBatis源码分析--一级缓存、二级缓存原理

前言&#xff1a; 有点项目经验的朋友都知道缓存的重要性是不言而喻的&#xff0c;不仅仅我们在开发项目业务功能的时候使用了各种缓存&#xff0c;框架在设计的时候也有框架层面的缓存&#xff0c;尤其在查询多的场景下&#xff0c;缓存可以大大的减少数据库访问&#xff0c;…

微前端框架是为了解决项目应用在大型项目中带来的复杂性和维护难题而提出的技术方案。

微前端框架是为了解决单页应用&#xff08;SPA&#xff09;在大型项目中带来的复杂性和维护难题而提出的技术方案。Qiankun.js、MicroApp 和 Wujie 是三种流行的微前端框架。以下是对这三种框架的优缺点分析&#xff1a; Qiankun.js 优点 成熟度高&#xff1a;Qiankun.js 基…

【知识学习】阐述Unity3D中FogLOD的概念及使用方法示例

在Unity3D中&#xff0c;Fog&#xff08;雾效&#xff09;和LOD&#xff08;Level of Detail&#xff0c;细节层次&#xff09;是两种用于提高场景视觉效果和性能的技术。 Fog&#xff08;雾效&#xff09; 雾效是一种视觉效果&#xff0c;用于模拟大气中的雾或烟&#xff0c…

YOLOv8数据集标注

1 简介 数据集是必不可少的部分&#xff0c;数据集的优劣直接影响训练效果。一般来说&#xff0c;一个完整的数据集应该包括训练集、测试集和验证集。通常&#xff0c;数据集会被划分为训练集和测试集&#xff0c;比如将数据集的70%用作训练集&#xff0c;30%用作测试集。在进行…

信号处理——时频分析

经典傅里叶变换的限制&#xff1a; 1、只能反映信号的整体特性&#xff1b;&#xff08;完全是时域或频域&#xff09; 2、要求信号满足平稳条件&#xff1b; 3、必须获得时域中的全部信息。 所以引入时频分析&#xff0c;同时使用时间和频率的联合函数来表示信号。 1 时频…

提高数据融合效率和数据成果质量工作流的可行性分析

第一章 引言 本文基于对框架数据、地名地址数据以及变更调查数据为主体数据源的分析&#xff0c;结合数据融合中分层数据处理原则和内容&#xff0c;从数据管理者、数据应用的角度提出数据质量的定位、需求定位&#xff0c;归纳数据融合过程中存在的困难&#xff0c;提出了数据…

FANUC喷涂机器人P-350iA电机过热维修解决方案

发那科喷涂机器人作为自动化喷涂生产线的重要组成部分&#xff0c;其性能稳定性和可靠性对于生产效率和产品质量具有重要影响。然而&#xff0c;在实际使用过程中&#xff0c;FANUC喷涂机器人P-350iA电机过热故障问题往往成为影响其正常运行的主要因素之一。 FANUC机器人M-100…

一款开源免费的现代化风格的Avalonia控件库

前言 Citrus.Avalonia是一款开源&#xff08;MIT License&#xff09;、免费的现代化风格的Avalonia控件库。 Avalonia介绍 Avalonia是一个强大的框架&#xff0c;使开发人员能够使用.NET创建跨平台应用程序。它使用自己的渲染引擎绘制UI控件&#xff0c;确保在Windows、mac…

推荐系统数据集——Amazon-Book

在推荐系统中&#xff0c;像Amazon-Book这样的数据集通常包含用户和物品的交互信息。为了训练模型&#xff0c;这些数据需要转换成适合模型输入的格式。在这种情况下&#xff0c;item_list和user_list需要转换成train.txt文件&#xff0c;通常包含用户ID和物品ID的交互记录。 …

你的生日是星期几?HTML+JavaScript帮你列出来

0 源起 上周末&#xff0c;大宝发现今年自己的生日不是周末&#xff0c;这样就不好约同学和好友一起开生日Party了&#xff0c;很是郁闷。一直嘀咕自己哪年的生日才是周末。 于是我用JavaScript写了一个小程序来帮她测算了未来100年中每年的生日分别是星期几。 1 设计交互界面…

搭建大型分布式服务(四十一)SpringBoot 整合多个kafka数据源-支持亿级消息生产者

系列文章目录 文章目录 系列文章目录前言一、本文要点二、开发环境三、原项目四、修改项目五、测试一下五、小结 前言 本插件稳定运行上百个kafka项目&#xff0c;每天处理上亿级的数据的精简小插件&#xff0c;快速上手。 <dependency><groupId>io.github.vipjo…

【ARM】MCU和SOC的区别

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 了解SOC芯片和MCU芯片的区别 2、 问题场景 用于了解SOC芯片和MCU芯片的区别&#xff0c;内部结构上的区别。 3、软硬件环境 1&#xff09;、软件版本&#xff1a;无 2&#xff09;、电脑环境&#xff1a;无 3&am…

Java——枚举

1. 概念 枚举是在JDK1.5之后引入的&#xff0c;主要用途是&#xff1a;将一组常量组织起来&#xff0c;在这之前表示一组常量通常使用定义常量的方式&#xff1a; public static final int RED 1; public static final int GREEN 2; public static final int BLACK 3;但是…

第 12 课:基于隐语的VisionTransformer框架

基于之前MPC的基础知识&#xff0c;本讲主要内容是MPCViT基于SecretFlow的VisionTransformer框架&#xff0c;主要从神经网络架构&#xff0c;隐私推理框架和实验结果三方面介绍。 一、MPCViT&#xff1a;安全且高效的MPC友好型 Vision Transformer架构 MPCViT隐私推理总体框架…

QT中子工程的创建,以及如何在含有库的子工程项目中引用主项目中的qt资源

1、背景 在qt中创建多项目类型,如下: CustomDll表示其中的一个动态库子项目; CustomLib表示其中的一个静态库子项目; MyWidget表示主项目窗口(main函数所在项目); 2、qrc资源的共享 如何在CustomDll和CustomLib等子项目中也同样使用 MyWidget项目中的qrc资源呢??? 直…