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

news/2024/5/21 5:01:53

一、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.mrgr.cn/p/36783504

相关文章

nginx--压缩https证书favicon.iconginx隐藏版本号 去掉nginxopenSSL

压缩功能 简介 Nginx⽀持对指定类型的⽂件进行压缩然后再传输给客户端&#xff0c;而且压缩还可以设置压缩比例&#xff0c;压缩后的文件大小将比源文件显著变小&#xff0c;这样有助于降低出口带宽的利用率&#xff0c;降低企业的IT支出&#xff0c;不过会占用相应的CPU资源…

VBA_NZ系列工具NZ06:VBA创建PDF文件说明

我的教程一共九套及VBA汉英手册一部&#xff0c;分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的入门&#xff0c;到数据库&#xff0c;到字典&#xff0c;到高级的网抓及类的应用。大家在学习的过程中可能会存在困惑&#xff0c;这么多知识点该如何组织…

ssrf漏洞学习——基础知识

一、SSRF是什么&#xff1f; SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。 一般情况下&#xff0c;SSRF攻击的目标是从外网无法访问的内部系统。&#xff08;正是因为它是由服务端发起的&#xff0c;所以它能…

《架构风清扬-Java面试系列第29讲》聊聊DelayQueue的使用场景

DelayQueue是BlockingQueue接口的一个实现类之一 这个属于基础性问题&#xff0c;老规矩&#xff0c;我们将从使用场景和代码示例来进行讲解 来&#xff0c;思考片刻&#xff0c;给出你的答案 1&#xff0c;使用场景 实现&#xff1a;延迟队列&#xff0c;其中元素只有在其预定…

layui的treeTable组件,多层级上传按钮失效的问题解决

现象描述: layui的treeTable 的上传按钮在一层能用&#xff0c;展开后其他按钮正常点击&#xff0c;上传按钮无效。 具体原因没有深究&#xff0c;大概率是展开的子菜单没有被渲染treeTable的done管理到&#xff0c;导致没有重绘上传按钮。 解决方案: 不使用layu的上传组件方法…

springboot+vue快速部署前后台项目,无需服务器

问题 前言 我们都知道,现在的主流开发大多数为,前后端分离,目前流行的框架,大多数是spring boot+element ui 这些框架,这无疑是给开发部署项目带来了便利,我们后台开发无需关心前端如何部署的,前端同样也无需关系后台如何部署,只需要确认能够访问即可。 存在有如下问题…

DDR5和LPDDR4/5 命令解析

关键名称介绍 DDR5 SDRAM和LPDDR4/5都采用了高级的命令集来支持更高效的内存管理和操作,其中“Multi-purpose command (MPC)”、“Mode Register Read (MRR)”、“Mode Register Write (MRW)”,以及“Write Pattern Command”是几种关键的命令类型,它们在内存初始化、配置和…

大型语言模型的新挑战:AMR语义表示的神秘力量

DeepVisionary 每日深度学习前沿科技推送&顶会论文&数学建模与科技信息前沿资讯分享&#xff0c;与你一起了解前沿科技知识&#xff01; 引言&#xff1a;AMR在大型语言模型中的作用 在自然语言处理&#xff08;NLP&#xff09;的领域中&#xff0c;抽象意义表示&…

HBM供不应求,SK海力士称2025年订单都几乎售罄

【科技明说 &#xff5c; 科技热点关注】 据外媒报道&#xff0c;SK海力士透露公司今年的HBM产能已经全部售罄&#xff0c;明年订单也基本售罄。此外&#xff0c;SK海力士预计在2024年5月提供世界最高性能的12层堆叠HBM3E产品的样品&#xff0c;并准备在第三季度开始量产。 ​…

项目打包与上线

目录1.修改好上线环境中的请求地址2.打包项目3.连接服务器4.配置nginx代理5.上线成功 1.修改好上线环境中的请求地址2.打包项目进入项目根目录,输入npm run build解决报错问题 当我们无法解决多而烦的ts检查报错时,可以在项目中的package.json文件中把下图中原本的红色框内容…

西门子数控网络IP设定配置

总结&#xff1a;menuselect-诊断-屏幕下方右翻页找到tcp/ip&#xff0c;进去选择tcp/ip诊断&#xff0c;进去选择x130网口&#xff0c;点击更改&#xff0c; 如果没有更改&#xff0c;menuselect-调试-口令&#xff0c;输入口令 sunrise 然后重新配置tcp/ip&#xff0c;配置完…

npm报错 dev @vue/eslint-config-standard@^6.1.0 from the root project

参考:https://blog.csdn.net/weixin_65398435/article/details/126419711 我新建了个项目,然后执行 npm i 但是报错,如下图看了个老哥的解答,直接执行 npm install npm@6.14.15 -g npm i 成功!

实景三维技术在城市运行状态监测方面的应用

随着城市化步伐的加快,城市规模日益扩大,对于城市运行状态的实时监控需求愈发迫切。传统的监控手段已无法满足现代城市管理的精细化和高效化要求。而实景三维技术的崛起,为城市运行状态实时监控注入了新的活力,带来了新的机遇与挑战。实景三维技术,这一基于三维激光扫描和…

Microsoft Visual Studio 小tips

1、打开文件,资源文件夹默认追踪

基于 Spring Boot 博客系统开发(七)

基于 Spring Boot 博客系统开发&#xff08;七&#xff09; 本系统是简易的个人博客系统开发&#xff0c;为了更加熟练地掌握 SprIng Boot 框架及相关技术的使用。&#x1f33f;&#x1f33f;&#x1f33f; 基于 Spring Boot 博客系统开发&#xff08;六&#xff09;&#x1f…

ES数据存储与查询基本原理

Elasticsearch&#xff08;ES&#xff09;简介 Elasticsearch&#xff08;ES&#xff09;是一个分布式、可扩展、近实时的搜索和分析引擎&#xff0c;它基于Lucene&#xff0c;设计用于云计算中&#xff0c;处理大规模文档检索和数据分析任务&#xff0c;常用于实现内部搜索引…

开源框架平台:功能优势多,助力数字化转型!

对于什么是开源框架平台,以及它的优势和特点,我们今天就一起来了解和探讨。伴随着科技越来越发达,低代码技术平台、开源框架平台逐渐在各中小型企业里获得重视和青睐,成为助力企业实现流程化办公,进入数字化转型的的有力武器。在众多服务商中,谁拥有市场竞争力,谁在服务…

配置orangepi5pro运行rknn版本的yolov5

配置orangepi5pro运行rknn版本的yolov5,使用npu进行目标检测.摘要 配置orangepi5pro运行rknn版本的yolov5,使用npu进行目标检测. 关键信息板卡:orangepi5pro 芯片:RK3588S 环境:rknn2 转换工具:rknn-tool-kit2:1.5.0 系统:ubuntu20.04原理简介 npu简介 NPU(Neural Processing …

双目相机标定流程(MATLAB)

一&#xff1a;经典标定方法 1.1OPENCV 1.2ROS ROS进行双目视觉标定可以得到左右两个相机的相机矩阵和畸变系数&#xff0c;如果是单目标定&#xff0c;用ROS会非常方便。 3.MATLAB标定&#xff08;双目标定&#xff09; MATLAB用来双目标定会非常方便&#xff0c;主要是为…