VUE3-组件问题

VUE3-组件问题

文章目录

  • VUE3-组件问题
    • 一、S-Table
      • 1.问题描述
      • 2.问题展示
      • 3.问题解决
    • 二、form表单无法显示
      • 1.问题描述
      • 2.问题展示
      • 3.问题解决
    • 三、input 框为不可编辑状态
    • 四、Echarts组件未渲染
    • 五、图片正常引用,但是部署服务器部署不上去,看不到图片
      • 1.图片引用类型
      • 2.问题解决

一、S-Table

1.问题描述

一个页面存在两个S-table,经检查均无误,第一个S-Table刷新可用,第二个刷新不可用

2.问题展示

S-Table1:

				<s-table
					ref="tableOperation"
					:columns="columnsOperation"
					:data="loadDataOperation"
					:row-key="(record) => record.id"
					:scroll="{ x: 1500 }"
					:tool-config="toolConfig"
					bordered
				>
					<template #operator>
						<a-space>
							<a-button style="margin-top: 8px" type="primary" @click="addOperation">
								<template #icon>
									<plus-outlined/>
								</template>
								添加运营
							</a-button>
						</a-space>
					</template>
					<template #bodyCell="{ column, record }">
						<template v-if="column.dataIndex === 'action'">
							<a-button type="link" @click="editOperation(record)">编辑</a-button>
							<a-button type="link" @click="deleteOperation(record)">删除</a-button>
						</template>
					</template>
				</s-table>

S-Table2:

					<s-table
						ref="tableAssets"
						:columns="columnsAssets"
						:data="loadDataAssets"
						:row-key="(record) => record.id"
						:scroll="{ x: 1500 }"
						bordered
					>
						<template #bodyCell="{ column, record }">
							<template v-if="column.dataIndex === 'action'">
								<a-button type="link" @click="editAssets(record)">
									<EditOutlined />
									编辑
								</a-button>
								<a-button type="link" @click="deleteAssets(record)">
									<DeleteOutlined />
									删除
								</a-button>
							</template>
						</template>
					</s-table>

在onMounted调用刷新:
在这里插入图片描述
在这里插入图片描述

3.问题解决

S-Table2S-Table1的操作栏的查看资产Modal中,所以每次添加完新的资产不需要refresh,只有当点击事件发生,Modal框出现后,S-Table2获取数据的方法才会自动实行,但是对不同行的S-Table1的查看资产进行操作时,S-Table2不会重新获取数据,此时需要刷新table,重新渲染数据。
报错原因时当第一次点击查看资产时,由于从未获取过S-Table2的数据,所以此时的tableAssets.valueundefined,里面也不会有refresh方法,此时调用就会报错。
经过测试,可以在点击事件发生后,调取数据获取到后的钩子函数,在函数内进行tableAssets.value.refresh(),或者直接在点击事件发生时,加入下面的条件,在第一次点击不调取refresh,也可避免该问题。

	if(tableAssets.value != undefined){
		tableAssets.value.refresh()
	}

二、form表单无法显示

1.问题描述

						<a-form
							ref="securityReportingDataRef"
							:model="securityReportingData"
							:rules="securityReportingDataRules"
							:label-col="4"
							:wrapper-col="20">
							<a-form-item label="报告标题" name="reportHeading">
								<a-input v-model:value="securityReportingData.reportHeading" placeholder="请输入报告标题"/>
							</a-form-item>
							<a-form-item label="报告详情" name="reportDetails">
								<a-textarea v-model:value="securityReportingData.reportDetails" placeholder="请输入报告详情"/>
							</a-form-item>
							<a-form-item >
								<a-button @click="show">关闭</a-button>
							</a-form-item>
						</a-form>

JS:

const  securityReportingData = reactive()
const  securityReportingDataRef = ref()
const  securityReportingDataRules = {
	reportHeading:[{ required: true, message: '请输入报告标题', trigger: 'blur' }],
	reportDetails:[{ required: true, message: '请输入报告详情', trigger: 'blur' }]
}
const  sampleGraphData = reactive()

const show = () =>{
	console.log(securityReportingData,'securityReportingData')
}

2.问题展示

在这里插入图片描述
报错:
在这里插入图片描述

3.问题解决

VUE3中有两种声明方法ref和reactive

const securityReportingData = reactive()换成const securityReportingData = reactive({})即可,
或者定义为const securityReportingData = ref()

详情可了解:https://blog.csdn.net/qq_42365082/article/details/122477797

三、input 框为不可编辑状态

直达:https://segmentfault.com/a/1190000040562337?utm_source=sf-similar-article
效果:
可粘贴,可复制,但是不可编辑
在这里插入图片描述

四、Echarts组件未渲染

问题:
在这里插入图片描述
解释:
为了防止文档在完全加载(就绪)之前运行 jQuery 代码,你必须保证此文档已就绪。

https://blog.csdn.net/xb_2015/article/details/85337187
解决:

onMounted(() => {
	nextTick(()=>{
		initChart()
	})
})

延申:
同时,如果父元素的传值发生变化,子元素应该及时刷新渲染,可以对变化数据添加监听

watch(() =>props.chartData,
	(newVal, oldVal) => {
		initChart();
	},
	{
		deep: true,
	}
)

但是在处理时,发现数据有时请求无法自动赋值,也可以增加一步手动赋值

let initChart = () => {
	ydata.value = props.chartData.ydata
	lowRiskNum.value = []
	mediumRiskNum.value = []
	highRiskNum.value = []
	severityNum.value = []
	props.chartData.xdata.forEach((item) => {
		lowRiskNum.value.push({value: item.lowRiskNum})
		mediumRiskNum.value.push({value: item.mediumRiskNum})
		highRiskNum.value.push({value: item.highRiskNum})
		severityNum.value.push({value: item.severityNum})
	})
	Echarts = echarts.init(document.getElementById('lineCharts1'))
	// 绘制图表
	Echarts.setOption(option.value)
	// 自适应大小
	window.addEventListener('resize', onResize(Echarts))
}

五、图片正常引用,但是部署服务器部署不上去,看不到图片

1.图片引用类型

背景引用:

.service-item.item005 {
	width: 299px;
	height: 100px;
	background-image: url(src/assets/images/logo_2.jpg);
	background-size:100% 100%;
	background-repeat:no-repeat;
}

声明实例引用:

const scopeServicesList = ref([{
	img: 'src/assets/images/imgScop4.png',
	title: 'xxx',
	introduce: 'xxxxx',
}])

2.问题解决

背景引用:

<div class="service-item item005" :style="{backgroundImage:'url('+$TOOL.getAssetsFile('logo_2.jpg')+')'}"></div>

声明实例引用:
在utils/tool.js中引入:

//动态引用图片
tool.getAssetsFile = (name) => {
	return new URL(`../assets/images/${name}`, import.meta.url).href
}
import tool from '@/utils/tool';


const scopeServicesList = ref([{
	img:tool.getAssetsFile('imgScop4.png'),
	title: 'xxx',
	introduce: 'xxxxx',
}])

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

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

相关文章

element封装 table表格 ,插槽的使用,修改el-table-column的值

举例 vue2这种不封装的 直接写的很罗嗦麻烦 下面圈起来的可以封装一个对象 进行循环 弊端: 循环后 无法进行获取更改某一列的值 比如data日期我需要转换年月日 不循环我直接在这个el-table-column的这一列进行写&#xff08;如下&#xff09; <el-table-column label&quo…

Vue3解决:[Vue warn]: Failed to resolve component: el-table(或el-button) 的三种解决方案

1、问题描述&#xff1a; 其一、报错为&#xff1a; [Vue warn]: Failed to resolve component: el-table If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. at <App> 或者&#xff1a; …

实验 4:排序与查找

东莞理工的学生可以借鉴&#xff0c;请勿抄袭 1.实验目的 通过实验达到&#xff1a; 理解典型排序的基本思想&#xff0c;掌握典型排序方法的思想和相应实现算法&#xff1b; 理解和掌握用二叉排序树(BST)实现动态查找的基本思想和相应的实现 算法。 理解和掌握哈希(HASH)存…

【Django】图形验证码显示及验证

图形验证码显示及验证 开发项目时&#xff0c;在登陆或者注册功能中为防止脚本恶意破坏系统&#xff0c;故而添加图形验证码。 文章目录 图形验证码显示及验证1 安装配置2 验证码显示及正确性验证3 效果显示 1 安装配置 安装第三方库 pip install django-simple-captcha配置s…

《计算机系统与网络安全》 第六章 密钥管理

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

mysql8.0新特性详解

一、my.ini或my.cnf的全局参数 一个连接最少占用内存是256K&#xff0c;最大是64M&#xff0c;如果一个连接的请求数据超过64MB&#xff08;比如排序&#xff09;&#xff0c;就会申请临时空间&#xff0c;放到硬盘上。 #最大连接数 max_connections3000 #最大用户连接数 max_…

RS485转Profinet通讯

RS485转Profinet通讯 概述系统组成流量积算仪网关 软件总结 概述 一个支持RS485的流量积算仪的数据要被Profinet的PLC读取。制作一个网关&#xff0c;实现RS485到Profinet的转换。 系统组成 流量积算仪 支持RS485通讯&#xff0c;通讯协议是modbus RTU。采用功能码3可以读取…

ChatGPT从入门到精通,深入认识Prompt

ChatGPT从入门到精通&#xff0c;一站式掌握办公自动化/爬虫/数据分析和可视化图表制作 全面AI时代就在转角 道路已经铺好了 “局外人”or“先行者” 就在此刻 等你决定 让ChatGPT帮你高效实现职场办公&#xff01;行动起来吧。欢迎关注专栏 1、ChatGPT从入门到精通&#xff0…

【SQL Server】数据库开发指南(八)高级数据处理技术 MS-SQL 事务、异常和游标的深入研究

本系列博文还在更新中&#xff0c;收录在专栏&#xff1a;#MS-SQL Server 专栏中。 本系列文章列表如下&#xff1a; 【SQL Server】 Linux 运维下对 SQL Server 进行安装、升级、回滚、卸载操作 【SQL Server】数据库开发指南&#xff08;一&#xff09;数据库设计的核心概念…

【Unity 实用插件篇】 | UI适配神器 Device Simulator 移动设备模拟器 的详细使用方法

前言 【Unity 实用插件篇】 UI适配神器 Device Simulator 移动设备模拟器 的详细使用方法一、安装Device Simulator包二、使用Device Simulator模拟各种设备三、自定义设备类型信息 总结 &#x1f3ac; 博客主页&#xff1a;https://xiaoy.blog.csdn.net &#x1f3a5; 本文由…

错误C2039:‘退出‘:不是‘`全局名称空间‘的成员

问题 VC\Tools\MSVC\14.27.29110\include 目录里的cstdint文件的内容 原因 一种典型的Microsoft产品错误. 解决 运行 点击修复

Windows 驱动开发环境搭建

Windows 驱动开发环境搭建及 windbg 调试工具安装使用 引言了解 Windows 驱动开发环境下载 Windows 驱动开发环境根据需要下载安装对应版本的 Visual Studio下载安装对应的 WDK 工具包 编写第一个驱动代码总结参考资料 引言 对于 Windows 驱动开发&#xff0c;在微软官方的文档…

windows 下安装 mysql-8.0.25 解压版

介绍 此文介绍 mysql-8.0.25-winx64 的 zip 解压版&#xff0c;在 windows 下的安装与配置过程。 官方下载 官网下载页&#xff1a; https://downloads.mysql.com/archives/community/ 进入官网&#xff0c;选择默认版本就行&#xff0c;不需要包含测试工具套件的版本 本地解…

【spring源码系列-03】xml配置文件启动spring时refresh的前置工作

Spring源码系列整体栏目 内容链接地址【一】spring源码整体概述https://blog.csdn.net/zhenghuishengq/article/details/130940885【二】通过refresh方法剖析IOC的整体流程https://blog.csdn.net/zhenghuishengq/article/details/131003428【三】xml配置文件启动spring时refres…

[RocketMQ] Consumer消费者启动主要流程源码 (六)

客户端常用的消费者类是DefaultMQPushConsumer, DefaultMQPushConsumer的构造器以及start方法的源码。 1.创建DefaultMQPushConsumer实例 最终都是调用下面四个参数的构造函数: /*** 创建DefaultMQPushConsumer实例** param namespace namespace地址* par…

两两交换链表中的节点(LeetCode 24)

题目 24. 两两交换链表中的节点 思路 最开始自己画&#xff0c;越画越复杂比较复杂&#xff0c;写不出来&#xff01;&#xff08;呜呜&#xff09;去看了解题思路&#xff0c;发现只需要三步。&#xff0c;按以下思路写了代码&#xff0c;循环停止那里的条件我还以有更好的写…

【Docker】Docker Desktop更换非C盘符(减轻占用率)

Win10中的Docker Desktop调整到其他盘符&#xff0c;由于新版本已经不让修改软连接了&#xff0c;只好另谋策略&#xff0c;最终还是改成功了。 出现问题 使用软连接修改 上面代码我们可以科幻的理解一下 幻想破灭 //TODO 用户点击执行安装 if(检查文件夹是否软连接){有则&a…

虚拟机中Ubuntu 22上传框被黑框包裹的解决方法

虚拟机中Ubuntu 22上传框被黑框包裹的解决方法 现象解决方法 现象 在vm17下的ubuntu22使用上传表单时出现了这种不和谐的现象&#xff0c;被领导批评一通。最后费劲心思&#xff0c;找到了这个问题的解决方法。 解决方法 解决方法特别容易&#xff0c;在虚拟机的设置中&…

模型实战(13)之YOLOv8实现手语字母检测与识别+权重分享

YOLOv8实现手语字母检测与识别+权重分享 本文借助yolov8 实现手语字母的检测与识别:先检测手的ROI,进而对手语表达的字母含义进行识别全文将从环境搭建、模型训练及预测来展开对整个算法流程进行讲解文中给出了开源数据集链接及从 Roboflow 上的下载教程实现效果如下: 1. 环…

信驰达推出基于CC2340的BLE PEPS解决方案

近日&#xff0c;TI发布了第四代低功耗蓝牙SoC-CC2340&#xff0c;该产品凝聚了TI 公司20多年的射频经验&#xff0c;在成本、尺寸和性能上做了优化设计&#xff0c;是目前市场上最有价值的低功耗蓝牙SoC之一。 TI CC2340 SoC采用48 MHz ARM Cortex-M0 MCU&#xff0c;高达512…
最新文章