具体参考之前的博文:vueday02——使用naive-ui做一个ACM看榜-CSDN博客
具体代码在这里面
原因:在本地运行的时候,datatable里面使用列表渲染成字符串前端设置样式进行转换,但是在正式部署的时候,这个组件没有将其自动转换,造成前端页面死转,CPU拉满造成卡顿,任何调试信息都没有,后面一步一步做单元测试部署,将list手动转成str解析即可
原始data(模拟后端传过来的数值):
- const datas = ref([
- // 代表后端传来的数据
- // 0
- {
- problemA: ["*", "\n", "1", "/", "2"],
- problemB: ["*", "\n", "1", "/", "2"],
- problemC: ["+", "\n", "1", "/", "2"],
- problemD: [" ", "\n", "0", "/", "0"],
- problemE: ["-", "\n", "0", "/", "2"],
- problemF: ["*", "\n", "7", "/", "10"],
- problemG: ["*", "\n", "1", "/", "2"],
- problemH: ["+", "\n", "2", "/", "2"],
- problemI: ["-", "\n", "0", "/", "2"],
- },
给n-data-table的数据
- const data = ref([
- {
- key: 0,
- index: 1,
- name: "user Name1",
- solved: 3,
- // age: 32,
- college: "JiShou University",
- problemA: datas.value[0].problemA.join(""),
- problemB: datas.value[0].problemB.join(""),
- problemC: datas.value[0].problemC.join(""),
- problemD: datas.value[0].problemD.join(""),
- problemE: datas.value[0].problemE.join(""),
- problemF: datas.value[0].problemF.join(""),
- problemG: datas.value[0].problemG.join(""),
- problemH: datas.value[0].problemH.join(""),
- problemI: datas.value[0].problemI.join(""),
- },
颜色转换函数
- const judgeColor = (data:any) => {
- let color = "";
- // console.log("打印传入data", data)
- if (data[0] === "+") {
- color = '#e1ffb5'
- } else if (data[0] === "*") {
- color = '#3db03d'
- } else if (data[0] === "-") {
- color = '#ffd0d0'
- }
- // console.log("返回颜色", color)
- return color;
- }