当前位置:首页 > 经验笔记 > VUE > 正文内容

vue element table expand 设置只可以展开一行、设置点击行即可打开扩展内容

han32685个月前 (07-12)VUE1573

在Vue中使用Element UI的el-table组件时,‌可以通过以下步骤设置只可以展开一行以及通过点击行即可打开扩展内容:‌


设置只可以展开一行:‌


通过监听expand-change事件来实现每次只展开一行的效果。‌当expandedRows(‌已展开的行)‌的长度大于1时,‌清空expands数组(‌用于存储当前展开的行)‌,‌然后只将点击的那一行添加到expands数组中,‌并通过$refs.tableRef.toggleRowExpansion(expandedRows)来确保只有一行被展开。‌


设置点击行即可打开扩展内容:‌


在el-table上添加@row-click或@cell-click事件监听器,‌当行或单元格被点击时,‌调用$refs.tableRef.toggleRowExpansion(row)方法来展开或收起该行。‌


隐藏表格扩展隐藏图标:‌


通过设置<el-table-column type="expand" width="1"></el-table-column>的宽度为1,‌可以实现隐藏扩展图标的效果。‌或者,‌可以通过CSS来隐藏扩展图标。


<template>
  <el-table
    ref="myTable"
    :data="tableData"
    @row-click="handleRowClick"
  >
    <el-table-column type="expand" width="1">
      <template slot-scope="props">
        <!-- 扩展内容的模板 -->
      </template>
    </el-table-column>
    <!-- 其他列配置 -->
  </el-table>
</template>

<script>
export default {
  data() {
    return {
      tableData: [/* 表格数据 */],
      expandedRow: null, // 用于存储当前展开的行数据
    };
  },
  methods: {
    handleRowClick(row, column, event) {
      this.toggleRowExpansion(row); // 调用方法来处理行的展开和收起
    },
    toggleRowExpansion(row) {
      if (this.expandedRow) {
        // 如果之前有行处于展开状态,‌先收起它
        this.$refs.myTable.toggleRowExpansion(this.expandedRow);
      }
      // 展开点击的行
      this.$refs.myTable.toggleRowExpansion(row);
      this.expandedRow = row; // 更新当前展开的行数据为点击的行数据
    },
  },
};
</script>


在这个示例中,‌通过监听row-click事件,‌当行被点击时,‌会调用toggleRowExpansion方法来处理行的展开和收起。‌同时,‌通过设置expandedRow变量来跟踪当前展开的行数据,‌确保只有一行被展开。‌注意,‌这里的代码是一个简化的示例,‌实际使用时可能需要根据具体需求进行调整和优化

扫描二维码推送至手机访问。

版权声明:本文由瀚文博客发布,如需转载请注明出处。

本文链接:https://hanwenblog.com/post/106.html

分享给朋友:

相关文章

基于Vue的移动端图片裁剪组件(vue-imgcut)

基于Vue的移动端图片裁剪组件(vue-imgcut)

安装:npm install vue-imgcut –save使用代码:<template>     <div...

vue 去除前后空格trim的使用方法

一、使用trim修饰符<input v-model.trim = "massage" >二、使用filter过去属性 <...

vue 弹框使用this.$emit调用父组件方法及传参 无效 (已解决) this.$parent

// 在子组件中调用父组件的method1方法 this.$parent.method1() // 获取父组件属性值 this.$parent.prop...

vue中$set的使用踩坑日记

vue中$set的使用踩坑日记

1、为什么要用set?在vue中,并不是任何时候数据都是双向绑定的。在官方文档中,有这样一段话,如下:从文档得知,当数据没有被双向绑定的时候,我们就需要使用set了2、set用法解决数据没有被双向绑定...

ElementUI的el-cascader级联选择器组件获取选中的label | VUE

ElementUI的el-cascader级联选择器组件获取选中的label | VUE

例如上图,需要拿到全部/设备:设备123<el-cascader   ref="myCascader"   :options=&q...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。