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 = this
				console.log(item)
				that.mylist = item

				that.mylistTitle = item.cate.name
				console.log('打印mylist', that.mylist.cate.name)
				that.dialogVisible = true
			},


			// 查看杂志
			toDetailFun(row, e, index) {
				var that = this
				console.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);


				// 如果找到相同数据,获取其中一条数据的id
				let 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.mfbz.cn/a/610712.html

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

相关文章

自存angular 自定义snackbar

定义 1.自定义样式 2.自定义组件 就在要使用snackbar的组件中 在module中引入该组件&#xff08;重新写一个组件也行的 直接引入就好&#xff09; 打开这个组件 给这个自定义的组件传参 这个自定义组件接参(类似对话框接参) 使用参数 在这个自定义组件中 做了点击如何关闭s…

企业信使运营管理平台功能介绍

企业信使运营管理平台是一种为企业提供内部协同、任务管理、沟通交流、文件共享等功能的综合性管理平台。该平台旨在提高企业内部的工作效率和沟通协作能力&#xff0c;提供便捷的工作管理工具&#xff0c;促进企业的业务发展。 内部协同功能 企业信使运营管理平台首先提供一种…

Navicat Data Modeler Ess for Mac:强大的数据库建模设计软件

Navicat Data Modeler Ess for Mac是一款专为Mac用户设计的数据库建模与设计工具&#xff0c;凭借其强大的功能和直观的界面&#xff0c;帮助用户轻松构建和管理复杂的数据库模型。 Navicat Data Modeler Ess for Mac v3.3.17中文直装版下载 这款软件支持多种数据库系统&#x…

android进阶-AIDL

参考&#xff1a;Android进阶——AIDL详解_android aidl-CSDN博客 AIDL&#xff08;Android 接口定义语言&#xff09;&#xff0c;可以使用它定义客户端与服务端进程间通信&#xff08;IPC&#xff09;的编程接口&#xff0c;在 Android 中&#xff0c;进程之间无法共享内存&…

全视通助力珠海市井岸镇卫生院新院,建设智慧病房

5月6日&#xff0c;位于珠海市斗门区的井岸镇卫生院新院正式启用&#xff0c;面向市民开诊。新院各诊区就医秩序井然&#xff0c;总体情况良好。据统计&#xff0c;截至开诊当天11点30分&#xff0c;新院门诊共接诊347人次&#xff0c;预防接种81人次&#xff0c;儿童体检33人次…

Docker快速搭建NAS服务——NextCloud

Docker快速搭建NAS服务——NextCloud 文章目录 前言NextCloud的搭建docker-compose文件编写运行及访问 总结 前言 本文主要讲解如何使用docker在本地快速搭建NAS服务&#xff0c;这里主要写如下两种&#xff1a; FileBrowser1&#xff1a;是一个开源的Web文件管理器&#xff…

effective python学习笔记_类与接口

用组合类实现多层结构而不用内置类型 例子&#xff1a;成绩单&#xff0c;存储学生各科成绩多个然后加权重&#xff0c;如果用字典类型会导致字典有多层嵌套结构 思想 当用内置类型如字典元组等结构出现超过二层的多层嵌套结构时&#xff0c;读起来会比较难懂&#xff0c;此时…

新能源 锂电池行业创业的财富方案,锂电池回收实战攻略课(36节课)

实战攻略 12年锂电池回收行业经验与坑全收录 课程内容&#xff1a; 001-课程介绍.mp4 002-锂电池的全种类认识.mp4 003-废品锂电池到级片粉末价值估算,mp4 004-锂电池的生产应用回收,mp4 005-梯次回收到粉未提纯全流程,mp4 006-锂电池行业术语,mp4 007-回收所需必备工具…

汉诺塔问题和爬楼梯(递归)

感谢大佬的光临各位&#xff0c;希望和大家一起进步&#xff0c;望得到你的三连&#xff0c;互三支持&#xff0c;一起进步 个人主页&#xff1a;LaNzikinh-CSDN博客 c语言基础_LaNzikinh篮子的博客-CSDN博客 文章目录 一.爬楼梯问题二.汉诺塔问题总结 一.爬楼梯问题 假设你正…

Ansys界面设计:ACT入门

来自官方文档Getting Started with ACT&#xff0c;机翻。 Ansys 提供一流的现成仿真技术。为了最有效地部署普遍模拟&#xff0c;您可能需要更精心策划的体验&#xff0c;以使我们的模拟专业知识与您的用户、公司或行业需求相匹配。 Ansys ACT 使您能够自定义和扩展 Ansys 体验…

java注解全网最细

引言 在java编程中&#xff0c;注解&#xff08;Annotation&#xff09;是一种元数据&#xff0c;它提供了关于程序代码的额外信息。注解不直接影响程序的执行&#xff0c;但可以在运行时提供有关程序的信息&#xff0c;或者让编译器执行额外的检查。 下面笔者通过循序渐进的…

快速上手文心一言指令

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

PHP基础教程

&#x1f40c;博主主页&#xff1a;&#x1f40c;​倔强的大蜗牛&#x1f40c;​ &#x1f4da;专栏分类&#xff1a;PHP &#x1f4da;参考教程&#xff1a;菜鸟\编程网❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、PHP语法 基本的 PHP 语法 PHP 注释 PHP空白不敏…

Kafka分级存储概念(一)

Kafka分级存储及实现原理 概述 Kafka社区在3.6版本引入了一个十分重要的特性: 分级存储,本系列文章主要旨在介绍Kafka分级存储的设计理念、设计细节以及具体的代码实现 背景:为什么要有分级存储? 场景 作为一款具有高吞吐及高性能的消息中间件,Kafka被广泛应用在大数据、…

Linux添加IP地址的方法

1.nmcli&#xff1a;命令式的添加IP地址 [rootlocalhost ~]#nmcli connection modify eno16777736 ipv4.addresses 192.168.126.100/24 ipv4.gateway 192.168.126.1 ipv4.method manual connection.autoconnect yes [rootlocalhost ~]# nmcli connection modify eno16777736 i…

Spring Cloud Alibaba Sentinel 集成与限流实战(6)

项目的源码地址 Spring Cloud Alibaba 工程搭建&#xff08;1&#xff09; Spring Cloud Alibaba 工程搭建连接数据库&#xff08;2&#xff09; Spring Cloud Alibaba 集成 nacos 以及整合 Ribbon 与 Feign 实现负载调用&#xff08;3&#xff09; Spring Cloud Alibaba Ribbo…

RFID在汽车制造中的应用如何改变行业

随着工业4.0和中国制造2025的推进&#xff0c;企业对于智能化、自动化的需求日益增长&#xff0c;RFID射频技术在制造业中已经相当普遍了。在如今这瞬息万变的行业与时代中&#xff0c;RFID技术可以帮助企业获得竞争优势&#xff0c;简化日益复杂的生产流程&#xff0c;推动企业…

*args和**kwargs的使用

*args传入的是按照顺序的不定长度的参数列表 **kwargs传入的是不定长度的键值对

AI 资料汇总专栏

包含AI资料、大模型资料、AI最新行业发展 人工智能&#xff08;Artificial Intelligence&#xff0c;简称AI&#xff09;是一门研究如何使计算机能够具备智能行为的科学与技术。它致力于开发出能够像人类一样思考、学习、理解和决策的计算机系统。自20世纪50年代以来&#xff…

《第一行代码》第二版学习笔记(11)——最佳的UI体验

文章目录 一、Toolbar二、滑动菜单1、DrawerLayout——抽屉2、NavigationView 三、悬浮按钮和可交互提示1、FloatingActionButton——悬浮按钮2、Snackbar——提示工具3、CoordinatorLayout 四、卡片式布局1、cardView2、AppBarLayout 五、下拉刷新——SwipeRefreshLayout六、可…
最新文章