vue开发网站—①调用$notify弹窗、②$notify弹窗层级问题、③js判断两个数组是否相同等。

一、vue中如何使用vant的 $notify(展示通知)

在Vue中使用Vant组件库的$notify方法来展示通知,首先确保正确安装了Vant并在项目中引入了Notify组件。

1.安装vant

npm install vant --save# 或者使用yarn
yarn add vant

2.引入:在main.js或app.js文件中添加以下代码:

第一种方式:全局引入

import Vant from 'vant';
import 'vant/lib/index.css';Vue.use(Vant);

第二种方式:如果你只想引入Vant的某个组件,可以按需引入

// 例如,只引入 Button 组件
import { Button } from 'vant';
import 'vant/lib/button.css';Vue.use(Button);

3.在组件中使用$notify:

当点击按钮时,showNotify方法会被调用,通知会被展示出来。

<template><button @click="showNotify">显示通知</button>
</template><script>export default {methods: {showNotify() {this.$notify({   //这个弹窗也可以直接写message: '通知内容',duration: 2000, // 持续时间,默认为 3000 毫秒background: '#f44', // 自定义背景色// ... 更多自定义选项});}}}
</script>

二、解决vant的$notify弹窗提示 被el-dialog弹窗的遮罩层罩住

一开始的图片是这样的:弹窗提示被遮罩层遮住了

在这里插入图片描述

调整后的效果:
在这里插入图片描述

处理方式:给el-dialog 增加一个 zIndex="109"的属性即可。

在这里插入图片描述

三、javaScript 判断数组是否又存在相同字段值

1.需求:

js判断A数组中某条数据的其中years字段、months字段,和B数组中某条数据的years字段、months是否值相同?
如果两个数组中的这两条数据的两个字段相同了,再获取到B数组该条数据的id。

2.逻辑分析

// 假设有两个数组arr1和arr2
const arr1 = [{ id: 1, years: 2022, months: 10 },{ id: 2, years: 2021, months: 8 },{ id: 3, years: 2020, months: 5 }
];const arr2 = [{ id: 4, years: 2022, months: 10 },{ id: 5, years: 2021, months: 8 },{ id: 6, years: 2020, months: 5 }
];// 需要比较的数据
const dataToCompare = { years: 2021, months: 8 };// 在arr1中查找是否有与dataToCompare相同的数据
const foundInArr1 = arr1.find(item => item.years === dataToCompare.years && item.months === dataToCompare.months);// 在arr2中查找是否有与dataToCompare相同的数据
const foundInArr2 = arr2.find(item => item.years === dataToCompare.years && item.months === dataToCompare.months);// 判断结果
if (foundInArr1 && foundInArr2) {console.log('arr1和arr2中均存在与dataToCompare相同的数据');
} else if (foundInArr1) {console.log('arr1中存在与dataToCompare相同的数据,但arr2中不存在');
} else if (foundInArr2) {console.log('arr2中存在与dataToCompare相同的数据,但arr1中不存在');
} else {console.log('arr1和arr2中均不存在与dataToCompare相同的数据');
}// 如果找到相同数据,获取其中一条数据的id
let idOfFoundData = null;
if (foundInArr1) {idOfFoundData = foundInArr1.id;
} else if (foundInArr2) {idOfFoundData = foundInArr2.id;
}
console.log('相同数据的id为:', idOfFoundData);

3.实际代码中:

接口返回的数据&需求分析:

在这里插入图片描述

代码实现:

<template><div class="mySubscription"><div class="item" v-for="(item,index) in list" :key="index"><div class="item_img" @click.stop="itemFun(item)"><img :src="localImgSrc(item.cate.thumb)" alt=""></div><div class="item_title">{{item.cate.name}}</div><el-dialog :title="mylistTitle+'已订阅'" width="804px" :visible.sync="dialogVisible" zIndex="109"><div class="months"><!-- :class="item.publish.months.includes(Number(items))?'active':''" --><div v-for="(items,indexs) in mylist.order_list" :key="indexs"@click="toDetailFun(mylist,items,indexs)":class="mylist.publish.find(item =>item.years === items.years && item.months === items.months)?'active':''">{{ items.years }}-{{ items.months }}</div></div></el-dialog></div></div>
</template><script>export default {name: 'mySubscription',data() {return {dialogVisible: false,list: [],monthsShow: false,mylist: '',mylistTitle: '',}},mounted() {this.listFun()},methods: {// 我的订阅listFun() {var that = this;this.$api.POST(this.$face.subscOrderIndex, {page: this.page,limit: this.limit}, function(res) {that.list = res.data.list});},//点击某一个订阅的itemFun(item) {var that = thisconsole.log(item)that.mylist = itemthat.mylistTitle = item.cate.nameconsole.log('打印mylist', that.mylist.cate.name)that.dialogVisible = true},// 查看杂志toDetailFun(row, e, index) {var that = thisconsole.log(row)console.log(e.months, e.years)// 在row.publish中查找是否有与e相同的数据const foundInArr1 = row.publish.find(item => item.years == e.years && item.months == e.months);// 如果找到相同数据,获取其中一条数据的idlet publishId = null;if (foundInArr1) {publishId = foundInArr1.id;}console.log('相同数据的id为:', publishId);// if (row.publish.months.includes(Number(e))) {if (row.publish.find(a => a.years == e.years && a.months == e.months) && publishId != '') {console.log('相同')that.$router.push({name: 'bookDetail',query: {id: publishId}})} else {this.$notify({type: 'warning',message: '该期数未发行',duration: 2000});// console.log('不相同')}}},watch: {}}
</script>

完成~

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

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

相关文章

词令蚂蚁新村今日答案:微信小程序怎么查看蚂蚁新村今天问题的正确答案?

微信小程序怎么查看蚂蚁新村今天问题的正确答案&#xff1f; 1、打开微信&#xff0c;点击搜索框&#xff1b; 2、打开搜索页面&#xff0c;选择小程序搜索&#xff1b; 3、在搜索框&#xff0c;输入词令搜索点击进入词令微信小程序&#xff1b; 4、打开词令微信小程序关键词口…

Python专题:九、元组

append&#xff08;&#xff09;函数添加列表元素 remove&#xff08;&#xff09;函数移除列表元素 数据存储知识 变量保存的就是数据在内存中的地址 id()函数查看变量存储地址 动态分配 内存地址是动态分配的&#xff0c;每次的数值不一致 copy&#xff08;&#xff09;函…

学习Vue3中reactive

学习Vue3中reactive 一、前言1、响应式对象2、对象属性的访问3、嵌套响应式对象4、避免直接修改响应式对象5、ref vs reactive 一、前言 在 Vue 3 中&#xff0c;reactive 是一个用于创建响应式对象的函数。响应式对象是 Vue 3 中数据驱动视图的核心&#xff0c;它们的属性的变…

redis的双写一致性

双写一致性问题 1.先删除缓存或者先修改数据库都可能出现脏数据。 2.删除两次缓存&#xff0c;可以在一定程度上降低脏数据的出现。 3.延时是因为数据库一般采用主从分离&#xff0c;读写分离。延迟一会是让主节点把数据同步到从节点。 1.读写锁保证数据的强一致性 因为一般放…

代码随想录训练营Day26:贪心算法:04

1.860柠檬水找零 贪心策略&#xff1a;先找大钱&#xff0c;再找小钱&#xff0c;20的不参与找钱 思路&#xff1a;用five,ten存放5元和10元的个数&#xff0c;初始化都是0&#xff0c;如果给的钱是5元&#xff0c;直接five,如果给的是10元&#xff0c;只能找5&#xff0c;判…

音视频入门基础:像素格式专题(2)——不通过第三方库将RGB24格式视频转换为BMP格式图片

音视频入门基础&#xff1a;像素格式专题系列文章&#xff1a; 音视频入门基础&#xff1a;像素格式专题&#xff08;1&#xff09;——RGB简介 音视频入门基础&#xff1a;像素格式专题&#xff08;2&#xff09;——不通过第三方库将RGB24格式视频转换为BMP格式图片 一、引…

AI领域最伟大的论文检索网站

&#x1f4d1; 苏剑林&#xff08;Jianlin Su&#xff09;开发的“Cool Papers”网站旨在通过沉浸式体验提升科研工作者浏览论文的效率和乐趣。这个平台的核心优势在于利用Kimi的智能回答功能&#xff0c;帮助用户快速了解论文的常见问题&#xff08;FAQ&#xff09;&#xff0…

基于Qt的Model-View显示树形数据

目标 用qt的模型-视图框架实现树型层次节点的显示&#xff0c;从QAbstractItemModel派生自己的模型类MyTreeItemModel&#xff0c;用boost::property_tree::ptree操作树型数据结构&#xff0c;为了演示&#xff0c;此处只实现了个只读的模型 MyTreeItemModel的定义 #pragma o…

数据结构(一)绪论

2024年5月11日 一稿 数据元素+数据项 逻辑结构 集合 线性结构 树形结构 </

SGP.02-v4.2-001

2.4 OTA Communication on ES5 (SM-SR-eUICC) 2.4.3 SMS 在eUICC&#xff08;嵌入式通用集成电路卡&#xff09;远程配置和管理系统中&#xff0c;OTA&#xff08;空中传输&#xff09;通信由SM-SR&#xff08;订阅管理-服务器&#xff09;专门处理。SM-SR可以使用短信&…

chromium添加一个书签项,并自动显示图标

添加一个书签很简单&#xff1a; BookmarkModel* model BookmarkModelFactory::GetForBrowserContext(browser->profile()); const bookmarks::BookmarkNode* node bookmarks::AddIfNotBookmarked(model, url, title); 两句话即可。麻烦的是怎么设置完书签以后还要显示…

php开发的知识付费系统,教育机构如何实现快速招生呢?

如今教育培训市场的竞争越来越激烈&#xff0c;很多机构管理者会抱怨自己机构所在地竞争力太强&#xff0c;生源太少。想要突破机构的招生瓶颈&#xff0c;机构管理者应该如何快速招生呢? 一、无硝烟的战争—地推 校长们&#xff0c;你们知道吗? 如今互联网技术一流的阿里巴巴…

洛谷 P3809:后缀排序 ← 后缀数组

【题目来源】https://www.luogu.com.cn/problem/P3809【题目描述】 读入一个长度为 n 的由大小写英文字母或数字组成的字符串&#xff0c;请把这个字符串的所有非空后缀按字典序&#xff08;用 ASCII 数值比较&#xff09;从小到大排序&#xff0c;然后按顺序输出后缀的第一个字…

【驱动】SPI

1、简介 SPI(Serial Peripheral interface)串行外设接口。 特点: 高速:最大几十M,比如,AD9361的SPI总线速度可以达到40MHz以上全双工:主机在MOSI线上发送一位数据,从机读取它,而从机在MISO线上发送一位数据,主机读取它一主多从:主机产生时钟信号,通过片选引脚选择…

详解Python测试框架Pytest的参数化

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 上篇博文介绍过&#xff0c;Pytest是目前比较成熟功能齐全的测试框架&#xff0c;使用率肯定也不…

Coursera吴恩达深度学习专项课程01: Neural Networks and Deep Learning 学习笔记 Week 03

Neural Networks and Deep Learning Course Certificate 本文是学习 https://www.coursera.org/learn/neural-networks-deep-learning 这门课的笔记 Course Intro 文章目录 Neural Networks and Deep LearningWeek 03: Shallow Neural NetworksLearning Objectives Neural Ne…

13.Netty组件EventLoopGroup和EventLoop介绍

EventLoop 是一个单线程的执行器&#xff08;同时维护了一个Selector&#xff09;&#xff0c;里面有run方法处理Channel上源源不断的io事件。 1.继承java.util.concurrent.ScheduledExecutorService因此包含了线程池中所有的方法。 2.继承netty自己的OrderedEventExecutor …

华为数据之道第三部分导读

目录 导读 第三部分 第7章 打造“数字孪生”的数据全量感知能力 “全量、无接触”的数据感知能力框架 数据感知能力的需求起源&#xff1a;数字孪生 数据感知能力架构 基于物理世界的“硬感知”能力 “硬感知”能力的分类 “硬感知”能力在华为的实践 基于数字世界的…

hbase shell 启动报错问题

报错1&#xff1a; stopping hbasecat: /tmp/hbase-hadoop-master.pid: No such file or directory 报错2&#xff1a; ERROR [main] zookeeper.RecoverableZooKeeper: ZooKeep 解决&#xff1a; 看看你启动的hbase路径是不是错了&#xff0c;大概率是这种问题 不是启动hb…

Vuex:Vue.js 的状态管理库

一、Vuex 简介 Vuex 是 Vue.js 的状态管理模式和库。它采用集中式存储管理应用的所有组件的状态&#xff0c;并以相应的规则保证状态以一种可预测的方式发生变化。Vuex 的出现解决了组件间共享状态的问题&#xff0c;使得状态管理变得简单、可预测和可维护。 二、Vuex 核心概…