前端el-table-column使用template的新发现哈哈哈

news2024/7/4 4:27:23

记录一次无脑copy代码发现的新知识哈哈哈

新知识自己要去查阅相关知识学习,这里我没有描述噢

在el-table中的列el-table-column使用了多个button时,每个button都添加了<template slot-scope="scope">标签,导致只有其中一个button会展示。如:图一

问题代码如下:

<el-table>
  ...
  <el-table-column fixed="right" align="center" width="160" label="操作">
     <template slot-scope="scope">
        <el-button type="text" @click="update(scope.row.id)">编辑</el-button>
      </template>
      <template slot-scope="scope">
        <el-button type="text" @click="select(scope.row.id, '1')">查看</el-button>
      </template>
      <template slot-scope="scope">
        <el-button type="text" @click="deleteInfo(scope.row.id)">删除</el-button>
      </template>
      <template slot-scope="scope">
        <el-button type="text" @click="examin(scope.row.id)">审核</el-button>
      </template>
  </el-table-column>
  ...
</el-table>

图一:

上述代码页面效果只会渲染最后一个 template(即“审核”按钮),因为前面的 template 被后面的覆盖了 。

问题描述:

在el-table中的列el-table-column使用了多个button时,每个button都添加了<template slot-scope="scope">标签,导致只有其中一个button会展示:只展示“审核”按钮

问题分析:

通过查阅资料发现 :

在 Vue 和 Element UI 中,不能在同一个 el-table-column 中直接放置多个 template 标签,除非每个 template 标签都使用了不同的具名插槽。通过使用具名插槽(slot)区分它们。非必要不使用。这里的业务没有特殊的需求,因此没必要使用具名插槽

对于同一个 el-table-column,通常不需要使用具名插槽,因为每一列通常只包含一个模板内容。

问题解决:

修改代码:el-table-column 中只定义一个template,并将所有的button都放在这一个template中

<el-table>
  <el-table-column fixed="right" align="center" width="160" label="操作">
    <template slot-scope="scope">
      <el-button type="text" @click="update(scope.row.id)">编辑</el-button>
      <el-button type="text" @click="select(scope.row.id, '1')">查看</el-button>
      <el-button type="text" @click="deleteInfo(scope.row.id)">删除</el-button>
      <el-button type="text" @click="examin(scope.row.id)">审核</el-button>
    </template>
  </el-table-column>
</el-table>

修改代码后页面效果 :

 

插槽(Slots)和具名插槽(Named Slots)

具体什么是插槽和具名插槽(slot),如何和template配合使用建议自己去查阅资料学习噢。

插槽(Slots)

插槽是Vue.js中一种非常强大和灵活的功能,用于在组件之间传递内容。它允许父组件在其模板中预留出一些位置,并且在运行时动态地将任意内容插入这些位置。这种机制使得组件更具可复用性和灵活性,能够以一种通用的方式接受输入内容。

具名插槽(Named Slots)

  1. 定义:具名插槽是插槽的一种特殊形式,它允许父组件在子组件中定义多个插入位置,并分别指定每个位置的名字。这样,父组件就可以更精确地控制内容的插入位置。
  2. 特点
    • 父组件决定结构和数据:与默认插槽一样,父组件负责提供要插入到具名插槽中的HTML、文本、其他组件等内容。
    • 灵活性:由于具名插槽可以定义多个插入位置,因此父组件可以根据需要动态地插入不同的内容,从而在不同的上下文中复用同一个子组件。
    • 命名:每个具名插槽都有一个唯一的名称,父组件通过指定这个名称来向对应的插槽插入内容。
  3. 使用方法
    • 在子组件中定义具名插槽:使用<slot>标签,并为每个插槽分配一个唯一的name属性。
    • 在父组件中使用具名插槽:使用<template>标签,并通过v-slot指令或#指令来指定要插入的具名插槽的名称。然后,在<template>标签内部放置要插入的内容。

总结

插槽和具名插槽是Vue.js中用于组件间内容传递的重要机制。插槽允许父组件向子组件传递任意内容,而具名插槽则允许父组件更精确地控制内容的插入位置。这两种机制都增强了Vue组件的复用性和灵活性,使得开发者能够更高效地构建复杂的用户界面。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Makefile的入门学习

一、Makefile的入门学习 编译工具及构建工具介绍 在之前的课程&#xff0c;都是直接使用gcc对代码进行编译&#xff0c;这对简单的工程是可以的&#xff0c;但当我们遇到复杂的工程时&#xff0c;每次用gcc等编译工具去操作就会显得很低效。因此make工具就出现了&#xff0c;…

Linux高级进阶-ssh配置

Ubuntu-system 允许使用root远程登陆 apt install ssh -y在/etc/ssh/sshd_config 文件修改PermitRootLogin yes systemctl restart ssh远程连接软件用户名为root

Linux——内存管理代码分析

虚空间管理 页框和页的关系 页框 将内存空间分为一个个大小相等的分区(比如:每个分区4KB),每个分区就是一个页框&#xff0c;也叫页帧&#xff0c;即物理页面&#xff0c;是linux划分内存空间的结果。 每个页框都有一个页框号&#xff0c;即内存块号、物理块号。 页 将用户…

【LeetCode 滑动窗口】LC_3_无重复字符的最长子串

文章目录 1. 无重复字符的最长子串 1. 无重复字符的最长子串 题目链接&#x1f517; &#x1f34e;题目思路&#xff1a;&#x1f427;① 滑动窗口的思想&#xff1b;&#x1f427;② 用什么来维护窗口呢 &#xff1f; 用 双指针 和 unordered_set来维护&#xff0c;为什么呢…

《大道平渊》· 玖 —— 把高深的道理讲的通俗,这是一门艺术。

《平渊》 玖 "化繁为简, 点石成金。" 把高深的道理讲得通俗&#xff0c;这是一门艺术&#xff01; 讲述者能够站在群众的角度&#xff0c;用尽可能简单通俗的语言来解释复杂的概念。 讲述者需要对概念有深刻的理解&#xff0c;还要有灵活的表达能力。 群众愿意接受…

新型航标驱鸟器:解决鸟粪污染问题

航标作为船舶航行的重要导向标志&#xff0c;承载着为各类水上活动提供安全信息的重任。近年来&#xff0c;随着环保意识的提升&#xff0c;鸟类种群数量的增加&#xff0c;航标船上的鸟类问题逐渐凸显。许多鸟类会在航标船上停歇、捕食&#xff0c;造成了航标船严重的鸟粪污染…

【实战】kafka3.X kraft模式集群搭建

文章目录 前言kafka2.0与3.x对比准备工作JDK安装kafka安装服务器增加hosts 修改Kraft协议配置文件格式化存储目录 启动集群停止集群测试Kafka集群创建topic查看topic列表查看消息详情生产消息消费消息查看消费者组查看消费者组列表 前言 相信很多同学都用过Kafka2.0吧&#xf…

redis安裝启动

1、下载redis解压 https://github.com/tporadowski/redis/releases 2、打开cmd&#xff0c;切换到解压的文件夹 3、redis-server.exe redis.windows.conf 启动redis redis可通过命令行输入config set requirepass password和直接修改redis.config文件中修改 requirepass 来设…

打破信息孤岛,U-Mail邮件系统轻松集成各类业务系统

随着国家大力推动企业数字化转型&#xff0c;企业内部数字化建设需要各种业务系统来提高企业生产力&#xff0c;然而&#xff0c;随着在业务数据量逐步增大的情形下&#xff0c;如何更加高效地整合、协同各个系统之间的信息交互&#xff0c;并且更好地融合企业邮件系统&#xf…

Visual Studio Code 开发esp8266流程2Arduino 配置 nodemcu

http://arduino.esp8266.com/stable/package_esp8266com_index.json http://arduino.esp8266.com/stable/package_esp8266com_index.json Arduino: Library Manager Arduino: Board

项目:基于httplib/消息队列负载均衡式在线OJ

文章目录 写在前面关于组件开源仓库和项目上线其他文档说明项目亮点 使用技术和环境项目宏观结构模块实现compiler模块runner模块compile_run模块compile_server模块 基于MVC结构的OJ服务什么是MVC&#xff1f;用户请求服务路由功能Model模块view模块Control模块 写在前面 关于…

UV胶为什么会开裂?如何避免UV胶开裂?

UV胶为什么会开裂&#xff1f;如何避免UV胶开裂&#xff1f; UV胶开裂可能由以下几个主要因素导致&#xff1a; 紫外线照射不足&#xff1a;UV胶的固化需要足够的紫外线能量。如果紫外线照射不足&#xff0c;胶水可能无法完全固化&#xff0c;导致开裂。这可能是由于固化设备…

数据挖掘与机器学习——聚类算法

目录 无监督学习 聚类算法 概念&#xff1a; 功能&#xff1a; 应用场景&#xff1a; 评判标准&#xff1a; 划分聚类&#xff1a; K-means聚类 逻辑实现&#xff1a; 聚类方式 问题&#xff1a; 解决&#xff1a; 可能存在的问题&#xff1a; 1.初始值对K-means聚…

如何理解与学习数学分析——第二部分——数学分析中的基本概念——第10章——实数

第2 部分&#xff1a;数学分析中的基本概念 (Concepts in Analysis) 10. 实数(The Real Numbers) 本章介绍比率数(rational numbers)和非比数(irrational numbers)及其与十进制展开的关系。讨论了实数的公理&#xff0c;并解释了完备性公理对于区分实数和比率数为何必不可少&…

【设计模式】JAVA Design Patterns——Monitor(监视器模式)

&#x1f50d;目的 主要目的是为多个线程或进程提供一种结构化和受控的方式来安全地访问和操作共享资源&#xff0c;例如变量、数据结构或代码的关键部分&#xff0c;而不会导致冲突或竞争条件。 &#x1f50d;解释 通俗描述 监视器模式用于强制对数据进行单线程访问。 一次只允…

体育器材管理系统(Java+MySQL)

技术栈 Java语言&#xff1a;作为主要编程语言&#xff0c;用于编写应用逻辑和界面交互。MySQL数据库&#xff1a;用于存储和管理体育器材的相关数据。Swing窗口视图&#xff1a;用于创建图形用户界面&#xff0c;使用户能够通过窗口进行操作&#xff08;GBK编码&#xff09;。…

MongoDB-4.2.1 之安装和使用

安装 下载安装包 我自己电脑是 Windows7 的老古董&#xff0c;所以就下载老版本的 MongoDB。 mongodb: https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2012plus-4.2.1.zip 解压安装包到指定路径 我解压到的 C 盘 C:\mongodb-4.2.1 添加环境变量 创建数据库和…

【AIGC X UML 落地】通过多智能体实现自然语言绘制UML图

前天写了篇博文讲到用PlantUML来绘制C类图和流程图。后台有读者留言&#xff0c;问这步能否自动化生成&#xff0c;不想学习 PlantUML 语法。 我想了下&#xff0c;发现这事可行&#xff0c;确实可以做到通过自然语言的描述就能实现 UML图的绘制&#xff0c;昨天晚上加了个班到…

HCIP-Datacom-ARST自选题库_10_其他判断【23道题】

1.端到端时延等于路径上所有处理时延与队列时延之和。 2.部署PPP Multilink之后&#xff0c;数据将根据源地址和目的地址均匀的分配在各条成员链路上。 3.流镜像分为本地流镜像和远程流镜像两种方式。√ 4.IP报文中用Tos字段进行Q0S标记&#xff0c;Tos字段中是使用前6bit来…

《日均70亿请求项目实战》之部署三台zookeeper集群

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务&#xff09; &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1…