IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Elemnt-ui Table组件及 <template scope=“scopeData“>的使用理解 -> 正文阅读

[JavaScript知识库]Elemnt-ui Table组件及 <template scope=“scopeData“>的使用理解

<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>

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-08 13:43:31  更:2021-12-08 13:44:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:35:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码