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

前端实现表格生成序号001、002、003自增

我们最终想要实现的效果如图,从后端获取数据之后,不使用data中的id,而是使用自己生成的按照顺序自增的序号id。

script

<template><el-table :data="sticker" border style="width: 100%" id="stickerList"><el-table-column label="序号" width="180"><template #default="{ $index }">{{ formatIndex($index + 1) }}</template></el-table-column><el-table-column prop="stickerName" label="名字" width="180" /><el-table-column prop="context" label="内容" /></el-table><img :src="base64img" alt=""><el-button type="primary" @click="printPicture()">截图</el-button>
</template><script setup>
import { stickerListService } from '@/api/sticker.js'
import { ref } from 'vue';
import { onMounted } from 'vue'const sticker = ref([{id:'',stickerName:'',context:''}
])const stickerList = async function () {let result = await stickerListService()// 添加序号并保存sticker.value = result.data;
}// 格式化序号为 "001", "002", ...
const formatIndex = (index) => {return index.toString().padStart(3, '0');
}onMounted(() => {stickerList()
})
</script>

简单解释一下这段代码,大致思路就是接受到后端传来的数据后,不调用id。而是自定义序号

先看这段代码

const formatIndex = (index) => {return index.toString().padStart(3, '0');
}

具体来说:

  • index:是一个数字,表示当前元素在数组中的索引
  • index.toString():将数字转为字符串
  • padStart(3,'0'):用于确保字符串的长度为3,如果长度不够,则在字符串的开始位置用 0 进行填充。这确保了序号以001,002,003这样的形式显示。

例如:此时的index为 1 那么就先转为字符串 1 然后在它前面进行字符填充知到字符串的长度为3,则此时返回的字符串变为了001。

<el-table-column label="序号" width="180"><template #default="{ $index }">{{ formatIndex($index + 1) }}</template>
</el-table-column>

在Vue.js中,<el-table-column> 中的template部分是一个插槽 (slot),用于自定义表格列的内容。使用了一个默认插槽 #default 来自定义表格中 "序号" 列的显示方式。

<template #default="{ $index }">:这是一个插槽,用于自定义列的内容。@default 是插槽的默认名称,表示这个插槽用于列的默认内容。$index 是一个 Vue.js 提供的特殊变量,表示当前元素在数组中的索引。

{{ formatIndex($index + 1) }}:这是在插槽中使用的模板语法。formatIndex是我们刚才定义的一个方法,用于格式化序号。$index + 1表示当前元素在数组中的索引加1,因为我们希望序号从1开始而不是从0开始。

所以,这段代码的作用是在表格的 "序号" 列中显示格式化后的序号,通过调用方法,确保序号以 "001", "002", ... 的形式显示。

http://www.lryc.cn/news/240356.html

相关文章:

  • 【Django-01】 视图函数和视图类
  • 编译安装报错:configure: error: cannot guess build type; you must specify one
  • 2311rust,到66版本更新
  • JOSEF约瑟 过电流继电器 JL15-300/11 触点形式一开一闭 板前接线
  • postman设置接口关联这样做,薪资直接涨3k
  • Java常见的bug
  • gitea仓库镜像同步至gitlab
  • 服务器不备案的影响
  • 5 个适用于 Linux 的开源日志监控和管理工具
  • 树莓派镜像安装 + 设置 + 镜像批量化操作 - 自动化烧写工具 (四)
  • Redis 性能管理 主从复制与哨兵模式
  • volatile 详解
  • Flink Operator 使用指南 之 Flink Operator安装
  • 类与对象(上篇)
  • 使用SpringBoot集成MyBatis对管理员的查询操作
  • 数据报文去哪儿了
  • Mysql中join on中的like使用
  • 微信运营神器:从群发到批量添加,让你的微信营销更轻松
  • 白杨SEO:2B企业营销是什么?当下主流的短视频直播平台有哪些?企业营销要做短视频直播选哪个平台更好?
  • 将word中的表格无变形的弄进excel中
  • 美国服务器在大陆连不上怎么回事?
  • postgresql数据库中update使用的坑
  • 高可用elasticsearch集群搭建
  • Linux本地MinIO存储服务远程调用上传文件
  • C语言 子函数调malloc申请内存返回给主函数使用——可行,但要注意
  • Python入门教程之条件语句与运算符优先级详解
  • 高通Camera HAL3: CamX、Chi-CDK要点
  • springboot+vue热带野生动物园景点预约门票订票系统
  • Flutter和Android的混合跳转
  • CyberRT-共享内存实现