首页 > 其他分享 >elment ui展开行嵌套表格 进行修改数据后展开行自动收起

elment ui展开行嵌套表格 进行修改数据后展开行自动收起

时间:2023-07-05 21:44:16浏览次数:44  
标签:name elment ui key address 展开 expand row

https://it.cha138.com/python/show-74200.html

 

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elment Plus表格展开行后,进行修改数据后展开行自动收起相关的知识,希望对你有一定的参考价值。

Elment Plus表格展开行后,进行修改数据后展开行自动收起

场景:

在使用Element Plus中的table组件展示数据时,由于需要对表格行内数据的数据进行修改,在展开行内放置了一个输入框组件,但是在每次输入框输入时,展开行就会自动收起。

解决方法:

首先我们明确一点就是:在数据发生改变时是会引起表格的重新渲染的。

这里需要使用table组件的两个属性:row-keyexpand-row-keys

row-key:

expand-row-keys:

 

row-key有点类似于选择器组件的value属性,expand-row-keys则类似于选择器组件内多选的数组。我们需要通过在expand-change事件中对expand-row-keys这个数组进行操作来达到控制expand是否展开的目的。

 

 

 

 

demo:

<template>
 <div>
   <el-table
     :row-key="
       (row) =>
         return row.recordId
       
     "
     :expand-row-keys="expandedRowKeys"
     :data="tableData"
     @expand-change="expandOpen"
   >
     <el-table-column type="expand">
       <template #default=" row ">
         <el-input v-model="row.title"></el-input>
       </template>
     </el-table-column>
     <el-table-column
       v-for="column in tableColumns"
       :key="column.prop"
       v-bind="column"
     ></el-table-column>
   </el-table>
 </div>
</template>

<script lang="ts">
import defineComponent, ref from \'vue\'

export default defineComponent(
 setup()
   const expandedRowKeys = ref<string[]>([]),
     remove = function (array: any[], val: any)
       const index = array.indexOf(val)
       if (index > -1)
         array.splice(index, 1)
         return true
     
       return false
    ,
     expandOpen = async (row: any, expand: any) =>
       console.log(row, expand)
       if (!remove(expandedRowKeys.value, row.recordId))
         expandedRowKeys.value.push(row.recordId)
     
       //业务实现
    ,
     tableData = ref([
     
         date: \'2016-05-03\',
         name: \'Tom\',
         address: \'No. 189, Grove St, Los Angeles\'
      ,
     
         date: \'2016-05-02\',
         name: \'Tom\',
         address: \'No. 189, Grove St, Los Angeles\'
      ,
     
         date: \'2016-05-04\',
         name: \'Tom\',
         address: \'No. 189, Grove St, Los Angeles\'
      ,
     
         date: \'2016-05-01\',
         name: \'Tom\',
         address: \'No. 189, Grove St, Los Angeles\'
     
    ]),
     tableColumns = [
      prop: \'date\', label: \'Date\', width: \'180\' ,
      prop: \'name\', label: \'Name\', width: \'180\' ,
      prop: \'address\', label: \'Address\', width: \'180\'
    ]

   return expandOpen, expandedRowKeys, tableData, tableColumns

)
</script>

<style scoped></style>

标签:name,elment,ui,key,address,展开,expand,row
From: https://www.cnblogs.com/wsj1/p/17529878.html

相关文章

  • UI PATH
     最最最最重要的创建变量时,尽量不要自己在下方创建,而是在需要变量的地方,在属性CreateVariable这里创建变量。 ImageExists- 图片存在:使用ImageExists识别页面某块区域的内容,是否如选取图片所示,如果匹配成功返回True,否则返回False。 提取页面某块内容信息,使用getfull......
  • Unity 在AssetPostprocessor内使用AssetDataBase是不安全的行为(尤其在Build前进行Lib
    https://docs.unity3d.com/Manual/AssetDatabaseCustomizingWorkflow.html在Build前进行Library的删除,读取Asset是不安全的行为,需要使用C#的IOSystem进行操作AssetImportOrderIfyouarescriptingusingtheAssetDatabaseclass,it’simportanttounderstandhowtheor......
  • 周三 GUI
    GUI 组件事件监听器主要由两个包java.awt和java.Swing定义 javaFX最终将取代Swingthen这是一个简单的GUI首先安排好面板类importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.J......
  • 基于DirectX11+ImGui的Win32桌面程序开发
    一、常见图形界面框架(DirectUI、GUI)1.题外话,纯属扯O举两个常用的开发框架,MFC和QtWidget里面每个控件都是Window,这是和DirectUI最大的区别。下面简单梳理下这个DirectUI与GUI之前错综复杂的爱恨情仇:1.在侏罗纪时期,传统的Handle式GUI框架,是由操作系统内核(win32k.sys)直......
  • EasyUi的combobox使用方式
    1、如何显示出来<selectid="mySelect"></select>$('#mySelect').combobox();2、如何初始化数据productData.map(item=>{comboboxData.push({"id":item.staticDisplayValue,"text":item.staticDisplayValue,&q......
  • Arduino 控制激光测距 4M
    VL53L0X飛時測距模組通常有6隻接腳,只需要接電源和I2C腳。ArduinoUno板的接線示範:安裝Arduino版的VL53L0X程式庫選擇ArduinoIDE主功能表的「草稿碼→匯入程式庫→程式庫管理員」,在「程式庫管理員」中搜尋“VL53L0X ”關鍵字,即可找到相關程式庫,常見的兩個程式庫分別是Adafrui......
  • Arduino 板的说明
    Arduino板的说明 在本章中,我们将了解Arduino板上的不同组件。将学习 ArduinoUNO板,因为它是Arduino板系列中最受欢迎的。此外,它是开始使用电子和编码的最佳板。有些板看起来与下面给出的有些不同,但多数Arduino中的这些组件大部分是共同的。以下是UNO板的电路......
  • gson builder
    publicstaticfinalGsongson=newGsonBuilder().serializeNulls().registerTypeAdapter(LocalDateTime.class,(JsonSerializer<LocalDateTime>)(localDateTime,typeOfSrc,context)->{if(Objects.isNull(loca......
  • Arduino Uno Rev3
        OverviewArduinoUno isamicrocontrollerboardbasedontheATmega328P(datasheet).Ithas14digitalinput/outputpins(ofwhich6canbeusedasPWMoutputs),6analoginputs,a16MHzceramicresonator(CSTCE16M0V53-R0),aUSBconnection......
  • API6中JS UI实现富文本组件居右显示
    ​ 【关键字】RichText、富文本组件、API6、JS UI、居右显示 【关键代码如下】index.hml<divclass="container"><divclass="top"><richtext@start="onLoadStart"@complete="onLoadEnd"class="rich">{{con......