首页 > 其他分享 >vue+iview-table点击展开展示内容,表格嵌套

vue+iview-table点击展开展示内容,表格嵌套

时间:2024-08-09 17:50:36浏览次数:9  
标签:vue title 嵌套 key 组件 table ReviewPlanCode iview

实现如下效果的表格嵌套:

点击展开,展示tabs。

table的columns里设置展示的属性,然后属性里设置返回一个组件,然后在组件里写嵌套的内容。

 

<Table :columns="tableColumns" :data="tableData" style="width:100%" @on-selection-change="handleSelection">
            <template #result="{ row, index }">
              <Button type="success" size="small" style="margin-right: 5px" v-if="row.result === '成功'">成功</Button>
              <Button type="error" size="small" style="margin-right: 5px" v-if="row.result === '失败'">失败</Button>
            </template>
          </Table>

主要是tableColumns的设置:

第一个对象是table的勾选按钮;

第二个对象是点击展开的嵌套按钮,里面的ReviewPlanCode是组件,然后嵌套的tabs的内容都写到组件里。

和table一个页面的vue里引用ReviewPlanCode组件;

import ReviewPlanCode from './ReviewPlanCode'; components: { ReviewPlanCode },
 
tableColumns: [
        {
          type: 'selection',
          width: 60,
          align: 'center'
        },
        {
          key: 'action',
          type: 'expand',
          width:'30px',
          render: (h,  row) => {
                            return h(ReviewPlanCode, {
                              props: {
                                caseData: row.row
                              }
                            })
                        }
        },
        {
          title: '执行计划',
          key: 'fileName',
        },
        {
          title: '创建时间',
          key: 'time'
        },
        {
          title: '创建人',
          key: 'operator',
          width:'150px',
        },
        {
          title: '执行结果',
          key: 'result',
          width:'150px',
          slot: 'result'
        }

      ],

ReviewPlanCode组件内容:

<template>
  <Card>
    <Tabs value="name1">
      <TabPane label="执行结果" name="name1">
        <Table :columns="tableColumns" :data="tableData" style="width:100%" @expand="handleTableExpand(row)" @on-selection-change="handleSelection">
          <template #result="{ row, index }">
            <Button type="success" size="small" style="margin-right: 5px" v-if="row.result === '成功'">成功</Button>
            <Button type="error" size="small" style="margin-right: 5px" v-if="row.result === '失败'">失败</Button>
          </template>
        </Table>
      </TabPane>
      <TabPane label="计划详情" name="name2" >
        <pre v-highlight>
          <code style="height:300px;overflow: auto;"> {{ code }}</code>
        </pre>
      </TabPane>
    </Tabs>
  </Card>
</template>

<script>

import { reviewCase } from '../../../api/webUI';
export default {
  name: 'ReviewPlanCode',
  props: {
    caseData:{
      type: Object,
    }
  },

 

标签:vue,title,嵌套,key,组件,table,ReviewPlanCode,iview
From: https://www.cnblogs.com/comeoncode/p/18351210

相关文章

  • 记某项目的vue.config.js的配置,主要是获取git版本信息,并写入新创建的json文件
    /**@format*/constmoment=require("moment");constFileManagerPlugin=require("filemanager-webpack-plugin");constGreatePlugin=require("generate-asset-webpack-plugin");constshell=require("shelljs");le......
  • 前端vue3学习记录二
    ref和reactive的补充在使用reactive 进行对象数据的响应化时,要注意,将响应式对象分配给一个新的对象的时候,新的对象是不具有响应式性质的functionChangecar(){car={brand:'红旗',price:20000}//没有响应式性质car=reactive({brand:'红旗',price:20......
  • 基于django+vue框架的贵州农产品销售平台设计与实现【开题报告+程序+论文】-计算机毕
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景近年来,随着电子商务的蓬勃发展和乡村振兴战略的深入实施,农产品上行通道的建设成为推动农村经济转型升级的关键一环。贵州,作为中国西南地区......
  • 基于django+vue框架的共享汽车管理系统【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着城市化进程的加速和环保意识的提升,共享汽车作为一种新型的出行方式,正逐渐受到公众的青睐。它不仅有效缓解了城市交通拥堵问题,还减少了......
  • ant disign vue pro 使用日期组件,无法动态赋值 解决
    原文地址:https://blog.csdn.net/weixin_43865196/article/details/121849591组件使用渲染<a-date-picker v-model="date" format="YYYY-MM-DD" valueFormat="YYYYMMDD" :allowClear="false" @change="(date,dateStr)=>{ this.da......
  • Vue 中的日期和时间 Django 后端的日期和时间 不一样
    Vue中的日期和时间 <el-date-picker></el-date-picker>  Django后端的日期和时间:projectId=1,beginDate=2024-08-10T16:00:00.000Z,endDate=2024-08-14T16:00:00.000Z,chulizhuangtai=,gaojingshijian= 解决方法  <el-date-pickerv-model="beginDate&quo......
  • vue2 bpmnjs流程图
    原作者gitee地址:gitclonehttps://gitee.com/cjy2353/best-vue-bpmnjs.git"bpmn-js":"^17.9.2","vue":"^2.6.11",node-v"v14.17.6"使用:`importBpmnfrom'com/Bpmn'components:{Bpmn,},`bpmn组件如下:......
  • Vue3实现印章徽章组件
    1、组件结构2、组件封装src/components/StampBadge/src/StampBadge.vue文件代码<template><divclass="first-ring"v-bind="getBindValue":class="getStampBadgeClass"><divclass="second-ri......
  • Vue3水印组件
    1、组件封装<template><divref="watermarkContainerRef"class="watermark-container"><!--插槽--><slot></slot></div></template><scriptsetup>import{ref,onMounted,watc......
  • ARM SMMU中 SteamTable的作用
    在ARMSMMU(SystemMemoryManagementUnit)中,StreamTable是一个非常关键的数据结构,它用于管理和映射设备的内存访问请求。它的作用主要体现在以下几个方面:1.设备请求的流分类-在系统中,不同的外设可能通过SMMU发送内存访问请求。SMMU将这些请求按照来源(如来自哪个外设或请......