nut-ui中的menu 菜单组件的二次封装

这个菜单组件 一般可以直接用到项目里 如果复用性不强的话 直接使用

但是有一个问题 如果很多地方都需要用到这个组件

我们可以把这个组件二次封装一下

<template>
  <div class="cinema-search-filter-component">
    <nut-menu>
      <template #icon>
        <TriangleDown size="12" />
      </template>
      <nut-menu-item
        v-model="searchFilter.regionValue"
        :title="currentRegionTitle"
        :options="searchFilter.region"
      />
      <nut-menu-item
        v-model="searchFilter.brandValue"
        :title="currentBrandTitle"
        :options="searchFilter.brand"
      />
    </nut-menu>
  </div>
</template>
<script setup lang="ts">
import { ref, reactive, computed, onMounted, watch } from "vue";
import { useLocationStore } from "../../store";
import { TriangleDown } from "@nutui/icons-vue-taro";
const locationStore = useLocationStore();
let searchFilter = ref({
  region: [{ text: "全部", title: "全城", value: 0 }],
  brand: [{ text: "全部", title: "品牌", value: 0 }],
  regionValue: 0,
  brandValue: 0,
});
onMounted(() => {
  getRegionData();
});
const emit = defineEmits(["onRegionChanged", "onBrandChanged"]);
watch(
  () => searchFilter.value.regionValue,
  (newVal) => {
    emit("onRegionChanged", newVal);
  }
);
watch(
  () => searchFilter.value.brandValue,
  (newVal) => {
    emit("onBrandChanged", newVal);
  }
);
watch(
  () => locationStore.selectCityinfo,
  (newVal) => {
    getRegionData();
  }
);
const currentRegionTitle = computed(() => {
  const arr = searchFilter.value.region;
  const value = searchFilter.value.regionValue;
  return arr.find((item) => {
    return item.value === value;
  })?.title;
});
const currentBrandTitle = computed(() => {
  const arr = searchFilter.value.brand;
  const value = searchFilter.value.brandValue;
  return arr.find((item) => {
    return item.value === value;
  })?.title;
});
const getRegionData = async () => {
  initData();
  // const cityId = locationStore.selectCityinfo.cityId;
  // const res: any = await cityApi.region(cityId);
  // const arr = searchFilter.value.region;
  // res.forEach((item) => {
  //   arr.push({
  //     text: item.regionname,
  //     title: item.regionname,
  //     value: item.regionid,
  //   });
  // });
  // searchFilter.value.region = arr;
};
const initData = () => {
  searchFilter.value = {
    region: [{ text: "全部", title: "全城", value: 0 }],
    brand: [{ text: "全部", title: "品牌", value: 0 }],
    regionValue: 0,
    brandValue: 0,
  };
};
</script>
<style lang="scss">
.cinema-search-filter-component {
  display: flex;
  flex-direction: column;
  //   background: #fff;
  .nut-menu .nut-menu__bar {
    box-shadow: none !important;
  }
  .nut-menu__title-text {
    font-size: 24px;
  }
  .nut-menu__bar {
    background: none !important;
  }
}
</style>

基本上就是这样的

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大学html作业-原神官网静态页面(免费)

大学html作业-原神官网静态页面&#xff08;免费&#xff09; 源码来自githab&#xff0c;有些简单的问题我都修复了。大家可以直接去找原作者的源码&#xff0c;如果githab打不开就从我下载的网盘里下载吧。 效果 在这里插入图片描述 源码

C++11模版元编程

1.概述 模版元编程&#xff08;template metaprogram&#xff09;是C中最复杂也是威力最强大的编程范式&#xff0c;它是一种可以创建和操纵程序的程序。模版元编程完全不同于普通的运行期程序&#xff0c;它很独特&#xff0c;因为模版元程序的执行完全是在编译期&#xff0c;…

找嵌入式软件工作,freertos要掌握到什么程度?

作为一个在嵌入式软件行业工作的6年的工程师告诉你&#xff0c;这根本不是重点&#xff0c;我没有实际学过RTOS&#xff0c;都是赶鸭子上架&#xff0c;只要你会单片机&#xff0c;这种东西太简单了。在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「fre…

Rust 机器学习图形库 petgraph

一、介绍 Petgraph 是一个开源的图数据结构库&#xff0c;提供了非常丰富的图形类型和算法&#xff0c;并且支持将图形以 Graphviz 格式输出&#xff0c;还允许你为图的节点和边赋予任意类型的数据&#xff0c;从而能够灵活地处理和表示复杂的数据关系。 Petgraph 支持边的方…

Day15_学点儿JavaScript_数据类型、关系运算符、String、Boolean、Array、Math、eval

1 JS简介 1.1 JS 1、直接嵌入HTML页面。 2、由浏览器解释执行代码&#xff0c;不进行预编译。 1.2 解释型语言和编译型语言 JS&#xff1a;解释型语言、弱类型语言 Java&#xff1a;编译型语言、强类型语言 变量: var num 100; variable 用var来定义一个变量。 int num …

某盾滑块拼图验证码增强版

介绍 提示&#xff1a;文章仅供交流学习&#xff0c;严禁用于非法用途&#xff0c;如有不当可联系本人删除 最近某盾新推出了&#xff0c;滑块拼图验证码&#xff0c;如下图所示&#xff0c;这篇文章介绍怎么识别滑块距离相关。 参数attrs 通过GET请求获取的参数attrs, 决…

虚拟机安装银河麒麟

背景 由于Centos将于2024-06-30结束维护【脱保】&#xff0c;届时会存在Bug无人修复及功能无人开发等问题&#xff0c;所以要赶在这个节点前完成操作系统升级。可选的就是RedHat、Ubuntu以及国产信创【中标麒麟、银河麒麟、统信等】&#xff0c;或者使用云上操作系统【例如租阿…

九泰智库 | 医械周刊- Vol.19

⚖️ 法规动态 国创中心联合中科院发布《高性能医疗器械2023年度发展报告》 近日&#xff0c;国家高性能医疗器械创新中心和中国科学院深圳先进技术研究院共同发布了《高性能医疗器械2023年度发展报告》。该报告指出&#xff0c;我国医疗器械领域已形成以粤港澳大湾区、长三角…

号称史上最全的PostgreSQL备份恢复,送给有缘人...

&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&#x1f61c;&#x1f61c; 中国DBA联盟(ACD…

开抖店内行人都不说的秘密:这几个细节新手必犯!干货建议收藏!

哈喽~我是电商月月 开抖音小店必交的钱就是店铺的保证金 虽说店铺保证金最后店铺不开了&#xff0c;保证金还能退回 但只有开始运作时才知道&#xff0c;中间扣除你保证金的点有很多&#xff0c;要想继续开抖音小店&#xff0c;就得把扣的保证金补齐才能继续运行 但新手开店…

PostgreSql 01 安装,创建用户,创建数据库,创建关系

01.安装postgresql postgreSql 是在linux上 去官网找按照的方式 选择好postgreSql 的版本&#xff0c;已经Linux的发行版本 拿到命令&#xff0c;直接扔到Linux中运行即可 # 下载PGSQL的rpm包 sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpm…

《web应用技术》第一次课后练习

上机任务&#xff08;利用好chatgpt&#xff0c;文心一言等工具。&#xff09;&#xff1a; 1、下载软件&#xff0c;并安装。相关安装文件已上传至群文件。 JDK,TOMCAT&#xff0c;IDEA 2、学会用记事本编写jsp文件&#xff0c;并放进tomcat的相关目录下&#xff0c;运行。 …

vSAN vs SmartX 超融合:BI 数仓跑批效率对比测试

在《VMware 与 SmartX 分布式存储缓存机制浅析与性能对比》中&#xff0c;我们分析了 vSAN 7 缓存击穿的问题及其原因。近期&#xff0c;某金融用户在进行数据仓库分布式存储选型时&#xff0c;同样遭遇了测试过程中 vSAN 出现缓存击穿而难以完成全量跑批任务的问题。随后&…

时序数据库IoTDB:功能详解与行业应用

一文读懂时序数据库 IoTDB。 01 为什么需要时序数据库 解释时序数据库前&#xff0c;先了解一下何谓时序数据。 时序数据&#xff0c;也称为时间序列数据&#xff0c;是指按时间顺序记录的同一统计指标的数据集合。这类数据的来源主要是能源、工程、交通等工业物联网强关联行业…

【算法】二分查找(红绿灯法)

引言 该方法来自b站算法大师兄&#xff0c;可用作通用模版处理二分查找问题&#xff0c;不用特意考虑边界临界值等情况。 方法描述 红色节点是小于target&#xff0c;绿色节点是大于等于target。 我们首先定义两个下标代表左和右&#xff0c;分别为-1和n。然后用红箭头和绿箭…

如何在Linux系统运行RStudio Server并实现无公网IP远程访问【内网穿透】

文章目录 推荐 前言1. 安装RStudio Server2. 本地访问3. Linux 安装cpolar4. 配置RStudio server公网访问地址5. 公网远程访问RStudio6. 固定RStudio公网地址 推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下…

干货必读: 测试开发既然都这么厉害了!为啥不直接转业务开发?

前段时间&#xff0c;在后台收到一则留言&#xff1a;“请问一下&#xff0c;你觉得开发技术好&#xff0c;还是测试技术好&#xff0c;如果测试技术好&#xff0c;为什么不直接开发&#xff0c;干嘛做测试&#xff1f;” 这是一则很有意思且大多数技术新人普遍存在的困惑&…

kubernetes-dashboard 安装配置

k8s 1.23以上的版本 https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml 执行命令&#xff1a; kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml 安装完成后&#x…

[问题记录] oracle问题汇总记录

plsql问题 1、oracle-initialization error could not locate OCI.dll 下载plsql客户端后&#xff0c;登录显示如图所示的错误 解决方法&#xff0c;点击下方链接&#xff0c;下载64位客户端 Instant Client for Microsoft Windows (x64) 64-bit (oracle.com) 2、显示中文乱…