處理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.pswp.cn/diannao/36119.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/36119.shtml
英文地址,請注明出處:http://en.pswp.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;提出了數據…

嵌入式linux面試題大全及參考答案(3萬字長文)

目錄 解釋Linux內核的主要職責 什么是inode?它在文件系統中扮演什么角色? 常用的5個Linux文件權限標志 查看當前系統運行級別 查找包含特定字符串的文件 使用grep命令過濾特定模式的行 編寫腳本檢查指定目錄下文件大小并排序輸出 解釋變量、環境變量和位置參數在Shel…

前端npm打包自動壓縮

需要插件rollup-plugin-compression 在vite.config中使用 import compresssionBuild from rollup-plugin-compression import type { ICompressionOptions } from rollup-plugin-compression import dayjs from dayjs import packageInfo from ./package.json const option: I…

FANUC噴涂機器人P-350iA電機過熱維修解決方案

發那科噴涂機器人作為自動化噴涂生產線的重要組成部分&#xff0c;其性能穩定性和可靠性對于生產效率和產品質量具有重要影響。然而&#xff0c;在實際使用過程中&#xff0c;FANUC噴涂機器人P-350iA電機過熱故障問題往往成為影響其正常運行的主要因素之一。 FANUC機器人M-100…

產品經理進階:供應鏈管理制度

目錄 一、 目的 二、范圍 三、意義 五、周期 一、 目的 根據公司戰略規劃和經營目標,建立和完善生產計劃、物料控制體系、庫存 管理體系。通過匹配需求和產能,確保在滿足市場需求的同時降低整體庫存 水平,提高存貨周轉率,以達成公司的成本管理目標。 二、范圍 涉及供應…

vue2的雙向綁定

vue是一個mvvm框架&#xff0c;即數據雙向綁定&#xff0c;即當數據發生變化的時候&#xff0c;視圖也就發生變化&#xff0c;當視圖發生變化的時候&#xff0c;數據也會跟著同步變化。 Vue.js 2 中的雙向綁定是通過 v-model 指令實現的。v-model 指令可以在表單輸入元素上創建…

一款開源免費的現代化風格的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 設計交互界面…

torch創建2d卷積層報錯

import torch import torch.nn as nn print(nn.Conv2d(3, 16, 3, padding1)) 編譯器:pycharm2023.03.05 python&#xff1a;3.11 運行上述代碼 頁面報錯&#xff1a;OSError: [WinError 126] 找不到指定的模塊。 Error loading "D:\apploadpath\pythonPath\Lib\site-…