Vue3中点击关闭按钮后清除 el-table 表单内容

Vue3中点击关闭按钮后清除 el-table 表单内容


一、前言

在 Vue 3 中,通过使用 Element UI 的 el-table 组件来展示表格数据是一种常见的做法。有时候,当用户点击关闭按钮后,我们希望能够清除 el-table 表单中的内容。本文将介绍如何实现这个功能。

1、关闭事件

首先,让我们来看一下关闭按钮的点击事件处理函数 closeForm

const closeForm = () => {
  isFormVisible.value = false; // 隐藏表单
  formInlineRulesRef.value.resetFields(); // 重置表单内数据
  clearTheObj(formInline.value); // 初始化数据formInline
};

上面的代码展示了一个名为 closeForm 的函数,该函数执行以下操作:

  1. isFormVisible 的值设为 false,从而隐藏表单。
  2. 调用 formInlineRulesRefresetFields 方法来重置表单内的数据。
  3. 使用 clearTheObj 函数将 formInline 对象中的所有属性值重置为 null。

2、清除函数实现

接下来,让我们来看一下 clearTheObj 函数的实现:

const clearTheObj = (obj) => {
  let emptyArr = {};
  for (let key in obj) {
    emptyArr[key] = null;
  }
  Object.assign(obj, emptyArr);
};

clearTheObj 函数接受一个对象作为参数,遍历该对象的属性,并将每个属性的值设置为 null。这样就实现了清空对象属性值的功能。

3、具体代码

让我们来看一下 Vue 模板中 el-table 的使用:

当使用 Vue 3 的 <script setup> 语法和 <template> 标签时,可以按照如下的方式对关闭按钮后清除 el-table 表单内容进行详细的实现:

<template>
  <div>
    <el-table
      :data="tableData"
      style="width: 100%">
      <el-table-column
        prop="name"
        label="Name">
      </el-table-column>
      <el-table-column
        prop="age"
        label="Age">
      </el-table-column>
    </el-table>

    <el-button @click="closeForm">关闭</el-button>
  </div>
</template>

<script setup>
import { ref } from 'vue';

const tableData = ref([
  { name: 'Alice', age: 25 },
  { name: 'Bob', age: 30 }
]);

const isFormVisible = ref(true);

const closeForm = () => {
  isFormVisible.value = false;
  clearTableData();
};

const clearTableData = () => {
  tableData.value = [];
};
</script>

在上面的代码中,我们首先定义了一个包含 el-table 和关闭按钮的模板。el-table 显示了一个包含姓名和年龄的简单数据表格。当用户点击关闭按钮时,将触发 closeForm 函数。

<script setup> 部分,我们使用 ref 创建了 tableDataisFormVisible 两个响应式变量,并定义了 closeFormclearTableData 两个函数。

当点击关闭按钮时,closeForm 函数会将 isFormVisible 的值设为 false,隐藏表单,并调用 clearTableData 函数来清空 el-table 中的数据。

通过这段代码,我们演示了如何在 Vue 3 中使用 <script setup><template> 标签来实现点击关闭按钮后清除 el-table 表单内容的功能。希望这能够满足你的需求!

在这里插入图片描述
在这里插入图片描述


  1. 成功源于积极的态度和不懈的努力。
  2. 拥有梦想是一件了不起的事情,更重要的是去追求它。
  3. 每一次挫折都是成长的机会,坚持下去,你会变得更加坚强。
  4. 勇敢面对困难,因为你比困难更加强大。
  5. 无论多么艰难,只要心怀希望,就能找到光明的出路。
  • 36
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

和烨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值