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

Vue 中el-table-column 进行循环,页面没渲染成功

文章目录

  • 前言
  • 效果图
  • 代码示例
      • 可能出现的问题及原因
      • 解决思路


前言

实现效果:el-table-column 进行循环,使之代码简化
遇到的问题: data进行默认赋值,操作列的删除都可以出来,其他表格里面的数据没出来


效果图

示例:
在这里插入图片描述

代码示例

<template><div class="app-container"><el-row :gutter="20"><el-col><div>数据条数: {{ recycleBinList.length }}</div><el-table v-loading="loading" :data="recycleBinList" border style="width: 100%"><el-table-column v-for="(column, index) in columns" :key="index" :prop="column.prop":label="column.label" align="center" :show-overflow-tooltip="true"><template v-if="column.prop === 'caozuo'" slot-scope="scope"><el-button size="small" type="danger" @click="handleDelete(scope.row)">删除</el-button></template><template v-else slot-scope="scope">{{ scope.row[column.prop] }} <!-- 显示其他列的数据 --></template></el-table-column></el-table></el-col></el-row></div>
</template><script>
export default {name: "configAll",data() {return {columns: [{ width: '200px', label: '编号', prop: 'numberID' },{ width: 'auto', label: '唯一ID', prop: 'id' },{ width: '150px', label: '操作', prop: 'caozuo' },],loading: false,recycleBinList: [{numberID: 1, id: 1, fileName: '111'}],};},created() {console.log('组件 created 钩子执行',this.recycleBinList);},mounted() {console.log('组件 mounted 钩子执行',this.recycleBinList);},
};
</script>

看这个这个代码分析了半天才发现

可能出现的问题及原因

作用域理解混淆:
slot-scope用于在插槽中获取父组件传递过来的数据,它创建了一个特定的作用域,而v-if是基于 Vue 的响应式数据进行条件判断来决定元素是否渲染。当同时使用时,如果对它们各自的作用域以及数据的响应式变化机制理解不清楚,就容易出现渲染不符合预期的情况。
例如,在v-if判断中使用的变量,可能在slot-scope的作用域内不存在或者其值的变化没有被正确地监测到,导致元素渲染或隐藏的逻辑出现错误。
渲染顺序问题:
Vue 在解析模板时,对于v-if和插槽(包含slot-scope)的处理顺序可能会影响最终的渲染结果。如果v-if的条件判断依赖于插槽内传递的数据,而插槽数据的传递和解析顺序出现问题,就可能导致v-if的判断不准确,进而影响数据的正确渲染。

解决思路

明确作用域和数据来源:
仔细梳理slot-scope中接收到的数据结构以及在v-if判断中使用的变量来源。确保v-if中使用的变量是在slot-scope作用域内能够正确获取到的,并且是响应式的数据(如果需要响应式变化的话)。

<template slot-scope="scope"><div v-if="isCaozuoColumn(column.prop)"><el-button size="small" type="danger" @click="handleDelete(scope.row)">删除</el-button></div><div v-else>{{ scope.row[column.prop] }}</div></template>

总而言之:就是 slot-scope和v-if同时使用 导致的数据渲染问题

Ending…


http://www.mrgr.cn/news/82013.html

相关文章:

  • nginx高可用集群搭建
  • 七次课掌握 Photoshop
  • 5.微服务灰度发布落地实践(rocketmq增强)
  • PyTorch AMP 混合精度中grad_scaler.py的scale函数解析
  • MySQL的锁机制及排查锁问题
  • 鸿蒙开发需要掌握Promise回调
  • 基本算法——聚类
  • Android原生Widget使用步骤
  • Unity开发AR之Vuforia-MultiTarget笔记
  • 在React中引入tailwind css(图文详解)
  • 刷机TP-Link tp-link-WDR5660
  • 打印进度条
  • vue下载和上传的地址动态ip地址配置方法
  • sentinel-请求限流、线程隔离、本地回调、熔断
  • SAP SD信贷管理后台配置(上)
  • (一)开发环境搭建以及配置
  • K8S-LLM:用自然语言轻松操作 Kubernetes
  • [创业之路-225]:《华为闭环战略管理》-4-华为的商业智慧:在价值链中探索取舍之道与企业边界
  • 2024年中国新能源汽车用车发展怎么样 PaperGPT(二)
  • 论文笔记PhotoReg: Photometrically Registering 3D Gaussian Splatting Models
  • HAL 库句柄
  • uniapp 微信小程序开发使用高德地图、腾讯地图
  • 数学概念2
  • 细说STM32F407单片机CAN基础知识
  • (二)当人工智能是一个函数时,怎么去训练它?
  • CGAL windows 安装教程