el-table一格两行;概率;find

样式:
在这里插入图片描述
根据概率表头关键代码:rateRanges;
scope.row.targetHitTable.find((target:any) =>
target.targetHitRate >= range.min && target.targetHitRate <= range.max)!.targetHitNum
(1)!.是TypeScript中的非空断言操作符。非空断言告诉编译器,这个表达式的结果不会是null或undefined,避免编译时的类型检查错误。
(2)scope.row.targetHitTable.find(…) 是在targetHitTable数组中查找满足条件的对象 。
(3)条件是targetHitRate在某个区间内,这里range.min和range.max是当前列的区间范围。找到后,访问该对象的targetHitNum属性。
一格两行关键::span-method=“objectSpanMethod”
表格内容居中关键::cell-style=“{ textAlign: ‘center’ }” :header-cell-style=“{ ‘text-align’: ‘center’ }”

<el-table :data="xxData" :span-method="objectSpanMethod" style="width: 100%":cell-style="{ textAlign: 'center' }" :header-cell-style="{ 'text-align': 'center' }"><el-table-column label="类型"><template #default="scope">{{scope.row.targetHitType}}</template></el-table-column><el-table-column label="姓名"><template #default="scope">{{scope.row.targetHitFireType}}</template></el-table-column><el-table-column v-for="(range, index) in rateRanges" :key="index" :label="range.label"><template #default="scope"><span v-if="scope.row.targetHitTable.find((target:any) => target.targetHitRate >= range.min && target.targetHitRate <= range.max)"><el-input-number v-model="scope.row.targetHitTable.find((target:any) => target.targetHitRate >= range.min && target.targetHitRate <= range.max)!.targetHitNum"  :min="0" :precision="1" :step="0.1" size="defalut" style="width: 120px;" controls-position="right"/></span></template></el-table-column></el-table>
	//按概率分表头关键代码interface RateRange {min: numbermax: numberlabel: string}const rateRanges: RateRange[] = [{ min: 0, max: 30, label: '0-30%' },{ min: 40, max: 50, label: '40%-50%' },{ min: 60, max: 70, label: '60%-70%' },{ min: 80, max: 90, label: '80%-90%' },{ min: 100, max: 100, label: '100%' }]//表格数据xxData格式strikeHitTable: [{targetHitType: '歌手',targetHitFireType: '卡布',targetHitTable:[{targetHitRate: 20,targetHitNum: 2},{targetHitRate: 45,targetHitNum: 4},{targetHitRate: 65,targetHitNum: 6},{targetHitRate: 87,targetHitNum: 8},{targetHitRate: 100,targetHitNum: 10},]},{targetHitType: '歌手',targetHitFireType: '星星',targetHitTable:[{targetHitRate: 20,targetHitNum: 2},{targetHitRate: 45,targetHitNum: 4},{targetHitRate: 65,targetHitNum: 6},{targetHitRate: 87,targetHitNum: 8},{targetHitRate: 100,targetHitNum: 10},]},{targetHitType: '演员',targetHitFireType: 'kabu',targetHitTable:[{targetHitRate: 20,targetHitNum: 2},{targetHitRate: 45,targetHitNum: 4},{targetHitRate: 65,targetHitNum: 6},{targetHitRate: 87,targetHitNum: 8},{targetHitRate: 100,targetHitNum: 10},]},{targetHitType: '演员',targetHitFireType: 'star',targetHitTable:[{targetHitRate: 20,targetHitNum: 2},{targetHitRate: 45,targetHitNum: 4},{targetHitRate: 65,targetHitNum: 6},{targetHitRate: 87,targetHitNum: 8},{targetHitRate: 100,targetHitNum: 10},]},...]//一格两行interface SpanMethodProps {row: StrikeHitRulecolumn: TableColumnCtx<StrikeHitRule>rowIndex: numbercolumnIndex: number}const objectSpanMethod = ({row,column,rowIndex,columnIndex,}: SpanMethodProps) => {if (columnIndex === 0) {// 第一列if (rowIndex % 2 === 0) {// 检查当前行和下一行的 targetHitType 是否相同if (rowIndex + 1 < ruleData.data.length && row.targetHitType === ruleData.data[rowIndex + 1].targetHitType) {return {rowspan: 2,colspan: 1,};}} else {return {rowspan: 0,colspan: 0,}}}
}

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

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

相关文章

CSS定位详解上

1. 相对定位 1.1 如何设置相对定位&#xff1f; 给元素设置 position:relative 即可实现相对定位。 可以使用 left 、 right 、 top 、 bottom 四个属性调整位置。 1.2 相对定位的参考点在哪里&#xff1f; 相对自己原来的位置 1.3 相对定位的特点&#xff1…

二、Java-封装playwright UI自动化(根据官网执行步骤,首先封装BrowserFactory枚举类及BrowserManager)

前言 查看playwright官网&#xff0c;api文档了解到&#xff0c;playwright的基本步骤&#xff1a; 1、实例化一个playwright 2、启动一个浏览器类型 3、打开一个页面 所以&#xff0c;在封装时需要有一个浏览器工厂类&#xff0c;定义不同的浏览器类型&#xff0c;在配置文…

【问题解决】Jenkins使用File的exists()方法判断文件存在,一直提示不存在的问题

小剧场 最近为了给项目组提供一个能给Java程序替换前端、后端的增量的流水线&#xff0c;继续写上了声明式流水线。 替换增量是根据JSON配置文件去增量目录里去取再替换到对应位置的&#xff0c;替换前需要判断增量文件是否存在。 判断文件是否存在&#xff1f;作为一个老Ja…

神策数据严正声明

近日&#xff0c;我们发现有不法分子冒充神策网络科技&#xff08;北京&#xff09;有限公司&#xff08;以下简称”神策数据”&#xff09;的名义&#xff0c;发布虚假的招聘广告、面试邀请&#xff0c;企图误导求职者并进行不法行为。对此&#xff0c;我司发布严正声明&#…

ICLR 2025|香港浸会大学可信机器学习和推理课题组专场

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入&#xff01; AITIME 01 ICLR 2025预讲会团队专场 AITIME 02 专场信息 01 Noisy Test-Time Adaptation in Vision-Language Models 讲者&#xff1a;曹晨涛&#xff0c;HKBU TMLR Group一年级博士生&#xff0c;目前关注基础…

MySQL增量更新数据:高效同步策略与PanguSync实战指南

Mysql增量更新数据软件下载https://pan.baidu.com/s/1WesHaKGO7uQMhPNE-BTDmg?pwdabcd#list/path%2F 在数据驱动的商业环境中&#xff0c;实时数据同步已成为企业数字化转型的关键。本文将深入探讨MySQL增量更新的核心技术&#xff0c;并详细解析如何通过PanguSync工具实现高…

无人机灯光原理与应用解析!

工作原理 LED光源&#xff1a;LED因其高效、长寿命、高亮度和轻便等优点&#xff0c;成为无人机灯光的主要光源。 电路控制&#xff1a;通过微控制器或飞行控制器调节电流&#xff0c;控制灯光的开关、亮度和颜色。 信号传输&#xff1a;灯光控制信号通过无线或有线方式从遥…

51c自动驾驶~合集52

我自己的原文哦~ https://blog.51cto.com/whaosoft/13383340 #世界模型如何推演未来的千万种可能 驾驶世界模型&#xff08;DWM&#xff09;&#xff0c;专注于预测驾驶过程中的场景演变&#xff0c;已经成为追求自动驾驶的一种有前景的范式。这些方法使自动驾驶系统能够更…

lamp平台介绍

一、lamp介绍 网站&#xff1a; 静态 动态 php语言 .php 作用&#xff1a;运行php语言编写动态网站应用 lamp Linux Apache MySQL PHP PHP是作为httpd的一个功能模块存在的 二、部署lamp平台 1、测试httpd是否可正常返回PHP的响应 2、测试PHP代码是否可正常连接数据…

ROM修改进阶教程------修改安卓机型SELinux宽容的几种方式方法 以及第三方系统中如何关闭SELinux宽容

SELinux是一种强制访问控制安全机制,用于增强Linux系统的安全性。在某些情况下,可能需要对 SELinux 进行宽容设置,以满足特定的应用需求。当SELinux处于宽容模式时,系统允许违反安全策略的行为发生,但不会阻止这些行为,通常会在日志中记录这些违规事件。这与强制模式不同…

如何在 Aptos 上铸造 NFT

今天文章的第一部分将演示如何在 Aptos 上铸造 NFT&#xff0c;并使用 Moralis 轻松获取所有交易详细信息。在这里&#xff0c;我们将指导您完成使用 Aptos CLI 铸造活动门票 NFT 基本代币的过程。您还将了解如何完成初始设置步骤。此外&#xff0c;您还将了解如何获取 Moralis…

Springboot 梳理

一、Springboot 特性 方便创建可独立运行的spring应用程序直接内嵌Tomcat等服务简化了项目的构建配置为spring及第三方库提供自动配置提供生产级特性无需生成代码或者进行xml配置 二、四大核心 自动配置起步依赖命令行界面Actuator - 生成级的特性 三、自动配置的实现原理 …

C语言学习笔记-初阶(30)深入理解指针2

1. 数组名的理解 在上一个章节我们在使用指针访问数组的内容时&#xff0c;有这样的代码&#xff1a; int arr[10] {1,2,3,4,5,6,7,8,9,10}; int *p &arr[0]; 这里我们使用 &arr[0] 的方式拿到了数组第⼀个元素的地址&#xff0c;但是其实数组名本来就是地址&…

【Kubernetes 指南】基础入门——Kubernetes 基本概念(三)

三、Node 1、Node 简介 - Node 是 Pod 真正运行的主机&#xff0c;可以是物理机&#xff0c;也可以是虚拟机。 - 为了管理 Pod&#xff0c;每个 Node 节点 上至少要运行 container runtime&#xff08; 比如 docker 或者 rkt &#xff09;、kubelet 和 kube-proxy 服务。 2、…

电源测试系统有哪些可以利用AI工具的科技??

AI技术的发展对电源模块测试系统的影响是深远的&#xff0c;不仅协助系统提升了测试效率和精度&#xff0c;还推动了测试方法的创新和智能化。那么在电源测试系统中哪些模块可以利用AI工具实现自动化测试? 1. 自动化测试与效率提升 智能测试流程优化 AI算法可以自动优化测试…

解决Spring Boot中LocalDateTime返回前端数据为数组结构的问题

在Spring Boot开发中&#xff0c;处理日期时间数据是一个常见的需求。Java 8 引入了新的日期时间API&#xff0c;如LocalDateTime&#xff0c;它提供了更强大的日期时间处理功能。然而&#xff0c;在将LocalDateTime对象序列化为JSON时&#xff0c;可能会遇到返回为数组结构的问…

Redis---缓存穿透,雪崩,击穿

文章目录 缓存穿透什么是缓存穿透&#xff1f;缓存穿透情况的处理流程是怎样的&#xff1f;缓存穿透的解决办法缓存无效 key布隆过滤器 缓存雪崩什么是缓存雪崩&#xff1f;缓存雪崩的解决办法 缓存击穿什么是缓存击穿&#xff1f;缓存击穿的解决办法 区别对比 在如今的开发中&…

IntelliJ IDEA 2024.3.4 版本无法正常加载maven项目

报错如下&#xff1a; Possible solutions: - Check that Maven settings.xml does not contain http repositories - Check that Maven pom files do not contain http repository http://192.168.22.76:9003/repository/thirdparty/ - Check that Maven pom files do not co…

Select 下拉菜单选项分组

使用<select>元素创建下拉菜单&#xff0c;并使用 <optgroup> 元素对选项进行分组。<optgroup> 元素允许你将相关的 <option> 元素分组在一起&#xff0c;并为每个分组添加一个标签。 <form action"#" method"post"><la…

靶场(二)---靶场心得小白分享

开始&#xff1a; 看一下本地IP 21有未授权访问的话&#xff0c;就从21先看起 PORT STATE SERVICE VERSION 20/tcp closed ftp-data 21/tcp open ftp vsftpd 2.0.8 or later | ftp-anon: Anonymous FTP login allowed (FTP code 230) |_Cant get dire…