当前位置: 首页 > news >正文

爆改vue3 setup naiveui可编辑table

使用naiveui官网的可编辑table总是报错,所以手写了一个

思路:table数据数组unitMsgArr对应一个布尔的数组isEditArr ,点击table可编辑的行数据的时候,更改对应的isEdit为true,此时渲染组件EditCom,在EditCom组件中编辑完成,触发父组件的方法更改数据,完成编辑

table页面代码,重点在columns的配置

<n-data-table :columns="columns":data="unitMsgArr":bordered="true"style="height:520px" /><script>//获取点击的行在数据数组unitMsgArr对应的index
const getDataIndex = (id: string) => {return unitMsgArr.value.findIndex((item) => item.id === id)
}//拿到前页面的unitMsgArr时,生成对应的是否边际数组 isEditArr   
const isEditArr = ()=>{unitMsgArr.value.forEach(()=>{//默认都不可以编辑return false})
}setup(){const createColumns = () => {return [{title: '姓名',key: 'name',width: 400},{title: '年龄',key: 'age',width: 400},{//可编辑列title: '编号',key: 'num',width: 300,render(row: unitType) {if (isEditArr.value[getDataIndex(row.id)] === false) {return h(NButton,{text: true,onClick: () => {isEditArr.value[getDataIndex(row.id)] =!isEditArr.value[getDataIndex(row.id)]}},{default: () => row.num})} else {return h(EditCom, {rowData: row,onLoseFouce: (data: any) => {changeNumFun(data)}})}}}}]}}
</script>

自己创建一个组件EditCom,在table可编辑的列中使用

EditCom代码

<template><div class="editBox"><n-space><n-input class="inputBox"placeholder="输入编号"v-model:value="inputNum"></n-input><n-button @click="submitNum">确定</n-button></n-space></div>
</template>
<script lang="ts">
import { ref, h,defineComponent } from 'vue'// LoseFouce 父组件方法export default defineComponent({name: 'editCom',props: {rowData: {type: Object,default: 0}},setup(props, context) {console.log(props.rowData.num)// 输入的数字const inputNum = ref(props.rowData.num)// 输入数字触发方法const changeNum = () => {console.log(inputNum.value)}// 点击确定触发方法const submitNum = () => {console.log('确定更改')context.emit('loseFouce', {indexNum: inputNum.value,id: props.rowData.id})// 将输入的数字传递到父组件}return {inputNum, //输入的数字changeNum, //改变数字submitNum //确定按钮}}
})
</script>

相关文章:

爆改vue3 setup naiveui可编辑table

使用naiveui官网的可编辑table总是报错&#xff0c;所以手写了一个 思路&#xff1a;table数据数组unitMsgArr对应一个布尔的数组isEditArr &#xff0c;点击table可编辑的行数据的时候&#xff0c;更改对应的isEdit为true&#xff0c;此时渲染组件EditCom&#xff0c;在EditC…...

功率放大器的种类有哪三种类型

功率放大器是一种能将输入信号转换为更高功率输出的电子设备。在电子工程和音频领域中&#xff0c;功率放大器通常被分为三种类型&#xff1a;A类、B类和AB类。下面安泰电子将详细介绍这三种类型的功率放大器及其特点。 A类功率放大器 A类功率放大器是一种基本的线性功率放大器…...

HDFS 分布式存储 spark storm HBase

HDFS 分布式存储 spark storm HBase 分布式结构 master slave name node client 负责文件的拆分 128MB 3份 data node MapReduce 分布式计算 离线计算 2.X之前 速度比较慢 对比spark 编程思想 Map 分 Reduce 合 hadoop streaming Mrjob Yarn 资源管理 cpu 内存 MapReduc…...

Vue3文字实现左右和上下滚动

可自定义设置以下属性&#xff1a; 滚动文字数组&#xff08;sliderText&#xff09;&#xff0c;类型&#xff1a;Array<{title: string, link?: string}>&#xff0c;必传&#xff0c;默认[] 滚动区域宽度&#xff08;width&#xff09;&#xff0c;类型&#xff1a…...

Docker Sybase修改中文编码

镜像&#xff1a;datagrip/sybase 镜像默认用户名sa&#xff0c;密码myPassword&#xff0c;服务名MYSYBASE 1.进入容器 docker exec -it <container_name> /bin/bash2.加载Sybase环境变量 source /opt/sybase/SYBASE.sh3.查看是否安装了中文字符集 isql -Usa -PmyP…...

【SpringCloud Alibaba】(六)使用 Sentinel 实现服务限流与容错

今天&#xff0c;我们就使用 Sentinel 实现接口的限流&#xff0c;并使用 Feign 整合 Sentinel 实现服务容错的功能&#xff0c;让我们体验下微服务使用了服务容错功能的效果。 因为内容仅仅围绕着 SpringCloud Alibaba技术栈展开&#xff0c;所以&#xff0c;这里我们使用的服…...

mysql的主从复制

1.主从复制的原理 主从复制的原理是通过基于日志的复制方式实现数据的同步。当主服务器上发生数据变更时&#xff0c;会将这些变更写入二进制日志&#xff08;Binary Log&#xff09;中。从服务器通过连接到主服务器&#xff0c;请求从主服务器获取二进制日志&#xff0c;并将…...

【Golang 接口自动化03】 解析接口返回XML

目录 解析接口返回数据 定义结构体 解析函数&#xff1a; 测试 优化 资料获取方法 上一篇我们学习了怎么发送各种数据类型的http请求&#xff0c;这一篇我们来介绍怎么来解析接口返回的XML的数据。 解析接口返回数据 定义结构体 假设我们现在有一个接口返回的数据resp如…...

Java+bcprov库实现对称和非对称加密算法

BouncyCastle&#xff0c;即BC&#xff0c;其是一款开源的密码包&#xff0c;包含了大量的密码算法。 本篇主要演示BC库引入&#xff0c;对称加密算法AES、SM4和 非对称加密EC算法的简单实现&#xff0c;以下是实现过程。 一、将BC添加到JRE环境 前提&#xff1a;已安装JRE环…...

国内最大Llama开源社区发布首个预训练中文版Llama2

"7月31日&#xff0c;Llama中文社区率先完成了国内首个真正意义上的中文版Llama2-13B大模型&#xff0c;从模型底层实现了Llama2中文能力的大幅优化和提升。毋庸置疑&#xff0c;中文版Llama2一经发布将开启国内大模型新时代&#xff01; | 全球最强&#xff0c;但中文短板…...

Qt应用开发(基础篇)——滑块类 QSlider、QScrollBar、QDial

目录 一、前言 二、QAbstractSlider类 1、invertedAppearance 2、invertedControls 3、maximum 4、minimum 5、orientation 6、pageStep 7、singleStep 8、sliderDown 9、tracking 10、sliderPosition 11、value 12、信号 三、QDial类 1、notchSize 2、notchTa…...

【3-D深度学习:肺肿瘤分割】创建和训练 V-Net 神经网络,并从 3D 医学图像中对肺肿瘤进行语义分割研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

MongoDB文档--架构体系

阿丹&#xff1a; 在开始学习先了解以及目标知识的架构体系。就能事半功倍。 架构体系 MongoDB的架构体系由以下几部分组成&#xff1a; 存储结构&#xff1a;MongoDB采用文档型存储结构&#xff0c;一个数据库包含多个集合&#xff0c;一个集合包含多个文档。存储形式&#…...

GEE学习03-Geemap配置与安装,arcgis pro自带命令提示符位置等

跟着吴秋生老师的视频开展的学习&#xff0c;首先购买了云&#xff0c;用来设置全局。 1、尝试使用arcgis pro自带的conda conda env list查看电脑上环境&#xff0c;我自己电脑上有三个环境&#xff0c;使用的arcgis pro python克隆的环境作为的默认的环境 但是这样的前提…...

软件测试面试总结——http协议相关面试题

前言 在PC浏览器的地址栏输入一串URL&#xff0c;然后按Enter键这个页面渲染出来&#xff0c;这个过程中都发生了什么事?这个是很多面试官喜欢问的一个问题 如果测试只是停留在表面上点点点&#xff0c;不知道背后的逻辑&#xff0c;是无法发现隐藏的bug&#xff0c;只能找一…...

大数据与okcc呼叫中心融合的几种方式

在实际的生产实践中&#xff0c;为提高营销效率&#xff0c;避免骚扰大众&#xff0c;很多呼叫中心业务会与大数据平台进行合作&#xff0c;进行精准营销。 买卖数据是非法的&#xff0c;大数据平台方并不会提供直接的数据&#xff0c;一般情况下&#xff0c;提供的数据都是脱…...

WAF绕过-工具特征-菜刀+冰蝎+哥斯拉

WAF绕过主要集中在信息收集&#xff0c;漏洞发现&#xff0c;漏洞利用&#xff0c;权限控制四个阶段。 1、什么是WAF&#xff1f; Web Application Firewall&#xff08;web应用防火墙&#xff09;&#xff0c;一种公认的说法是“web应用防火墙通过执行一系列针对HTTP/HTTPS的安…...

使代码减半的5个Python装饰器

大家好&#xff0c;到目前为止&#xff0c;Python编程语言由于其语法简单&#xff0c;在机器学习和网络开发等各个领域的应用功能强大。除非绝对必要&#xff0c;装饰器一般很少出现在视野中&#xff0c;比如使用staticmethod装饰器来表示类中的静态方法。装饰器能提供的大量强…...

线程池的线程回收问题

首先&#xff0c;线程池里面分为核心线程和非核心线程。 核心线程是常驻在线程池里面的工作线程&#xff0c;它有两种方式初始化。 向线程池里面添加任务的时候&#xff0c;被动初始化主动调用prestartAllCoreThreads方法 当线程池里面的队列满了的情况下&#xff0c;为了增加…...

盘点那些不想骑车的原因和借口。

在自行车骑行的热潮中&#xff0c;我们都会找到各种千奇百怪的借口来解释我们为什么不想骑。本文将结合当前热点话题和趋势&#xff0c;从心理学、文化等多个角度&#xff0c;深入探讨这些借口背后的原因。 首先&#xff0c;我们不能忽视的是&#xff0c;骑行是一项需要耐力和毅…...

别再只会用vi了!openEuler 20.03 LTS下保姆级安装vim教程(附yum源配置)

从零配置到高效编辑&#xff1a;openEuler系统vim全攻略 刚接触openEuler系统的开发者常会遇到一个尴尬场景&#xff1a;习惯性输入vim命令后&#xff0c;终端却冷冷地回应"command not found"。这个看似简单的问题背后&#xff0c;其实涉及Linux发行版的软件管理机制…...

IT工程/项目计划概要~项目结束表(模版)

项目计划概要Ⅰ&#xff09;项目启动&#xff08;PROJECT INITIATION&#xff09;1.EXCO(Executive Committee)审批2.已确认的意向书(Consent Letter)3.预风险评估4.合同(Contract)签署确认5.行业合规(Compliance)文档6.项目启动表7.项目章程签署确认Ⅱ&#xff09;项目计划8.业…...

如何高效获得GitHub社区认可:开发者的3个实用徽章获取策略

如何高效获得GitHub社区认可&#xff1a;开发者的3个实用徽章获取策略 【免费下载链接】community Public feedback discussions for: GitHub Mobile, GitHub Discussions, GitHub Codespaces, GitHub Sponsors, GitHub Issues and more! 项目地址: https://gitcode.com/gh_m…...

UE5运行时动态调整游戏视口:解决UI遮挡导致物体位置偏移的实战方案

UE5运行时动态调整游戏视口&#xff1a;解决UI遮挡导致物体位置偏移的实战方案 当你在UE5项目中设计了一个精美的HUD界面&#xff0c;却发现那些半透明的UI元素正在悄悄改变游戏世界的坐标规则——原本应该出现在屏幕中心的角色突然偏离了位置。这不是视觉错觉&#xff0c;而是…...

抖音视频批量下载神器:3分钟学会无水印批量下载技巧

抖音视频批量下载神器&#xff1a;3分钟学会无水印批量下载技巧 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support…...

顶尖销售都在读什么?这三本书揭示理解客户的奥秘

优秀销售真正厉害的地方&#xff0c;不是把产品硬推给别人&#xff0c;而是能够理解客户真正的需求&#xff0c;并让客户相信&#xff1a;你是在帮他解决问题&#xff0c;而不是单纯想把东西卖出去。 而要真正提升销售能力&#xff0c;读几本值得反复看的经典书籍&#xff0c;…...

告别网页版!用Alist+RaiDrive把阿里云盘、百度网盘变成电脑本地文件夹(保姆级教程)

一键打造云端硬盘&#xff1a;AlistRaiDrive实现本地化文件管理全攻略 你是否经常在多个云盘平台间频繁切换&#xff0c;忍受着网页端上传下载的龟速&#xff1f;每次想修改云盘里的文档&#xff0c;都得先下载到本地&#xff0c;编辑完再重新上传&#xff1f;今天我要分享的这…...

51单片机IO口不够用?试试用PCF8574模块驱动LCD1602,I2C接口省下6个引脚

51单片机IO资源紧张&#xff1f;PCF8574模块驱动LCD1602的实战指南 当你用51单片机开发项目时&#xff0c;是否遇到过这样的困境&#xff1a;传感器、按键、通信接口已经占用了大部分IO口&#xff0c;而显示模块却无处安放&#xff1f;传统驱动LCD1602需要6-8个IO引脚&#xff…...

基于哪吒D1与Node-RED的机械臂视觉控制边缘计算方案

1. 项目概述与核心价值最近在折腾一个挺有意思的项目&#xff0c;核心是把一块搭载了全志D1芯片的哪吒开发板&#xff0c;变成一个能同时控制机械臂和拍照的智能边缘节点。这个想法的源头&#xff0c;其实挺实际的&#xff1a;在很多自动化测试、小型分拣或者教育演示的场景里&…...

PPTXjs终极指南:3分钟学会在浏览器中完美预览PPTX文件

PPTXjs终极指南&#xff1a;3分钟学会在浏览器中完美预览PPTX文件 【免费下载链接】PPTXjs jquery plugin for convertation pptx to html 项目地址: https://gitcode.com/gh_mirrors/pp/PPTXjs 还在为PPT文件兼容性问题烦恼吗&#xff1f;当精心制作的演示文稿在不同设…...