Elemnt-ui Table组件及 <template scope=“scopeData“>的使用理解

element-ui表格列el-table-column如何根据数据不同显示不同的值,获取prop值 阅读详情
<el-table
    :data="tableData" // 绑定数据源,scope="scopedData"中scopedData的数据也来源于此
    stripe  //stripe属性可以创建带斑马纹的表格
    border // 使表格带有边框
    style="width: 50%" // 设置所占屏幕的宽度 一般设置为50%
>
    // 通过 el-table-column 设置表格一列的信息 
    <el-table-column
      prop="date"  // 渲染 数据源 tableData 中 的 data属性到页面
      label="日期" // 这一列的表头名
      width="180"> // 设置对应宽度
    </el-table-column>

    //若单独设置一个 type="index" 的 el-table-column 则可以起到索引的效果
    <el-table-column type="index"></el-table-column>

    //  type="expand" 可以展开下栏的列表
    // 将想要点击下栏栏展示的内容写在 <el-table-column type="expand"> 内部
    <el-table-column type="expand">
             <template scope="scopeData">
                <el-tag
                  v-for="(item, index) in scopeData.row.attr_vals"
                  :key="index"
                  closable
                  @close="handleClose(index,scopeData.row)"
                >
                  {{ item }}
                </el-tag>
             </template>
    </el-table-column>
</el-table>

Table标签绑定数据源后 主要通过 el-table-column 来设置对应列的内容

通过设置 el-table-column 的type来控制列表的类型

个人对<template scope="scopeData">的理解

首先 这个组件一定要有一个数据源 比如 Table标签中的 :data 属性 scope="scopeData"中的scopeData与组件标签所绑定的数据源是相同的。

而数据源一般都是对象数组的形式存储数据,通过scopeData.row 可以获取到这个对象数组中的每一个对象,再通过scopeData.row.属性名 获取到这个对象中的属性值。

scopeData.row可以当作函数形参传给回调函数进行使用,可以用来循环渲染等一系列操作。

完整代码参考

<el-table :data="manyTableData" border stripe>
            <!-- 展开行 -->
            <el-table-column type="expand">
              <template scope="scopeData">
                <el-tag
                  v-for="(item, index) in scopeData.row.attr_vals"
                  :key="index"
                  closable
                  @close="handleClose(index,scopeData.row)"
                >
                  {{ item }}
                </el-tag>
                <!-- 可编辑的tag标签 -->
                <el-input
                  class="input-new-tag"
                  v-if="scopeData.row.inputVisible"
                  v-model="scopeData.row.inputValue"
                  ref="saveTagInput"
                  size="small"
                  @keyup.enter.native="handleInputConfirm(scopeData.row)"
                  @blur="handleInputConfirm(scopeData.row)"
                >
                </el-input>
                <!-- 添加新Tag标签按钮 -->
                <el-button
                  v-else
                  class="button-new-tag"
                  size="small"
                  @click="showInput(scopeData.row)"
                  >+ New Tag</el-button
                >
              </template>
            </el-table-column>
            <!-- 索引列 -->
            <el-table-column type="index"></el-table-column>
            <el-table-column
              label="参数名称"
              prop="attr_name"
            ></el-table-column>
            <el-table-column label="操作">
              <template scope="scopeData">
                <el-button
                  type="primary"
                  icon="el-icon-edit"
                  size="mini"
                  @click="showEditDialog(scopeData.row.attr_id)"
                  >修改</el-button
                >
                <el-button
                  type="danger"
                  icon="el-icon-delete"
                  size="mini"
                  @click="removeParams(scopeData.row.attr_id)"
                  >删除</el-button
                >
              </template>
            </el-table-column>
          </el-table>

【通用表格组件vue3 + element-ui + template 实现通用表格组件 阅读详情

相关推荐

opencv案例实战——银行卡模式匹配识别

在之前的几篇文章中我们已经介绍了opencv的一些基础知识,本篇文章我们将结合一个案例运用之前的知识并且学习opencv中模式匹配的应用,用到的知识点如果有不清楚的可以查看上面列出来的系列文章。具体代码会放在最后。

艾醒的博客 1303

vue template中slot-scope/scope使用方法

今天小编就为大家分享一篇vue template中slot-scope/scope使用方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

WindowsServer2022蓝牙音频开启方法

为Windowsserver 2022 添加蓝牙音频驱动的方法和工具

thebestismin的专栏 2657

vuetemplate中的scope到底是个什么?

vuetemplate中的scope是什么

sj119123的博客 8492

vue作用域插槽slot与templatescope

1: 首先我们的值在c组件(左侧),我们通过slot插槽传送我们的数据,通过语糖:games='games'传送到App.vue(右侧)。使用数据的在(右侧),通过插槽得到,lxw是新定义的名字,lxw渲染出来就是左侧传输的数据。3:我们在template里渲染lxw发现正好就是左侧c组件games里面的值。数据在定义插槽里(左侧)

lxw621的博客 671

(Table)解决:Element-ui 中<template slot-scope=“scope“> 的用法问题以及剖析 Table 的相关属性

1、遇到要在 Element-uiTable 中添加图片和序号的问题: A、想要在Table里面添加的图片或属性情况为: B、但如何添加就是一个问题: 经过查询发现:通过 slot-scope="scope" 属性操作是可以在 table 栏中添加相关属性值的(相关文档也有叙述); // 此时在日期栏下添加了一个图标和date值; //即:通过 slot-scope="scope" 来添加相关属性值是可以的; 2、解决方案:用 slot-scope="scope"属性 A、关于slot-sco

狮子座的男孩 3万+

vue template 中 slot-scope/scope使用

vue 2.5.0+ 中slot-scope替代了 scope template使用情形为,我们已经封装好一个组建,预留了插槽,使用 的插槽 首先 我们的创建一个组建 组建很简单有一个 slot,slot有两个属性 a=123,b=msg &amp;amp;lt;template&amp;amp;gt; &amp;amp;lt;div&amp;amp;gt; &amp;amp;lt;div&amp;amp;gt;下面是一个

wngzhem的博客 13万+

elementUItable表格相关设置

本文章编写的是elementUItable相关设置。 用于以后进行参考和使用,我将会把它归置在常用工具栏分栏中;以供后续参考; 如后续有新内容将在本文章进行更新最基础的表格代码如下 例子 如果想实现自适应宽度的话,只需要做如下调整 设置表格边框 要实现表格边框,在el-table设置属性border即可 设置表格固定宽度且省略多余文字 当设置表格为固定宽度的时候,想隐藏多余的文字,如下 表格文字居中 要实现表格文字居中,做如下操作 自定义编写显示表格文本 当想实现自定义编写表格栏位显示的文本

xc9711的博客 4866

el-table template slot-scope=“scope“ 不显示内容

有时候,按以下方法写的el-table的操作列会不显示内容,可用 “template 里面的属性改为 #default="scope"。重点:【template外围标签el-table-column 加上 key="slot"属性】” 的方法修改。

sinat_34896766的博客 1369

Vue -- 通过 templatescope 控制表格中某一列根据值不同展现不同内容

<el-table-column prop="useState" :label="$t('columns.useState')" align="left" min-width="5" > <template slot-scope="scope"> <span v-if="scope.row.useState==0" style="color:#FF0000;"...

支棱起来 1695

VUE 饿了么组件 el-table 的<template scope="scope">使用

有人问我:&lt;template scope="scope"&gt;,这个可以删除吧,不影响使用吧。为什么要这样用?不可以删除,写的对。注册版本。当时:我蒙了。因为我不知道。没读过这个组件源代码,没看过这块的文档(没找到过)。读饿了么组件源代码,1.4 版。读 vue 源代码:    查得关键词:Scoped Slots, template这里的功能类似 scope     slot-scope...

程序员写的技术 FAQ 和杂文 1万+

el-table 遍历渲染el-table-column时在template标签内动态取到每列的prop值

el-table 遍历渲染el-table-column时在template标签内动态取到每列的prop值

yueye_wu的博客 5796

el-table使用template scope v-if动态展示出现排序错乱问题

el-table使用template scope v-if做动态展示,出现错乱 解决办法:每个都要加key值

zzzzzzzzzzzzp的博客 340

template slot-scope=“scope“> 和<template slot-scope=“{row }“>什么区别

另外,可以通过解构赋值语法个性化地从 `scope` 对象中抽取所需的属性,如在 `<template slot-scope="{ row, $index }">` 中,只提取了 `row` 和 `$index` 两个属性。在 Vue.js组件中,特别是在使用作用域插槽(Scoped Slots)时,`scope` 对象包含了父组件传递给子组件插槽的上下文数据。具体包含哪些属性,需要查阅对应组件的官方文档或查看组件内部是如何定义和传递 `scope` 数据的。- `row`: 当前行的数据对象。

2301_76588608的博客 2680

el-table el-table-column 用template获取数据

<el-table-column align="center" header-align="center" label="户型" prop="desginDesc"> <template slot-scope="scope"> {{scope.row.desginDesc || '-'}} </templ..

qq_48772601的博客 2560

element-plus Table 表格自定义列模板使用及问题

想要在表格中自定义列内容,是通过在el-table-column中使用slot实现的。 比如我现在传入表格的列内容需要格式化字符串再输出,就需要用到这个特性。 首先上一段代码,3行两列的数据,我需要在name显示的数据前都加个a字符,为了测试这个过程,我在showname这个函数内打印下调用编号。 <template> <el-table :data="tableData" style="width: 100%"> <el-table-column pr

jiyanglin的博客 6338

理解vue中的scope使用

理解vue中的scope使用 我们都知道vue slot插槽可以传递任何属性或html元素,但是在调用组件的页面中我们可以使用 template scope="props"来获取插槽上的属性值,获取到的值是一个对象。注意:scope="它可以取任意字符串";上面已经说了 scope获取到的是一个对象,是什么意思呢?我们先来看一个简单的demo就可以明白了~如下模板页面: &lt;!DOC...

weixin_34120274的博客 2014

elementplus Table表格中使用template插槽

elementplus Table表格中使用template插槽

weixin_45599105的博客 2900

vue+element-ui之 el-table组件中<template scope="scope">的理解使用

element-ui官网的table组件中提到: 通过Scoped slot可以获取到 row, column, $index 和 store(table 内部的状态管理)的数据。 emm......本来想多写点,一直很忙没时间,后来有空了,想想下方链接的作者已经写得很好了,我再写可能也只是依葫芦画瓢了,那就直接贴上这个链接吧: https://blog.csdn.n...

weixin_30487317的博客 2001

element中表格列要遍历时如何加插槽(template

一、问题详情 在项目中遇到这个问题就是要在element中的el-table标签中的el-table-column标签中使用插槽来自定义表格列的内容,由于el-table-column要用v-for遍历出来,所以操作起来就比较麻烦,于是有了一下代码: <el-table :data="tableData" style="width: 100%"> <el-table-column :label="v.name" :key="k"

qq_42730111的博客 8679

Flyback_UC3842.rar_Multisim仿真_Multisim反激_反激 multisim_反激升压_反激开关电源

基于MULTISIM和uc3842的反激式升压开关电源的仿真

上一篇: Vue中使用Axios请求后端接口的方法总结
下一篇: Elment-ui中实现el-steps和el-tabs步骤联动
小白-先森
博客等级 码龄5年 11粉丝 50原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值