element table 点击某一行中按钮加载功能实现

 更新时间:2024年06月21日 09:22:35   作者:海绵宝龙  
在Element UI中,实现表格(element-table)中的这种功能通常涉及到数据处理和状态管理,这篇文章主要介绍了element table 点击某一行中按钮加载功能,需要的朋友可以参考下

在Element UI中,实现表格(element-table)中的这种功能通常涉及到数据处理和状态管理。当你点击某一行的按钮时,其他行的按钮需要动态地切换为加载状态,这可以通过以下步骤实现:

1.表格组件:使用el-table组件,并且为每一行的按钮添加事件监听器,如@click。

<el-table :data="items" @selection-change="handleSelectionChange">
  <el-table-column type="index"></el-table-column>
  <el-table-column prop="action" label="操作">
    <template slot-scope="scope">
      <el-button v-if="!isLoading[scope.$index]" @click="loadData(scope.$index)" :disabled="isLoading[scope.$index]">加载</el-button>
      <!-- 加载中状态 -->
      <span v-if="isLoading[scope.$index]">加载中...</span>
    </template>
  </el-table-column>
</el-table>

2.状态管理:维护一个数组isLoading,用于跟踪每行的数据加载状态。初始设置所有元素为false。

data() {
  return {
    items: [],
    isLoading: Array.from({ length: this.items.length }, () => false),//此处可以放在接口中
  };
},

3.加载方法:在loadData方法中,当点击某一行的按钮时,更新对应索引处的状态为true,然后调用实际的数据加载API。同时,可以设置一个异步操作来模拟加载过程,例如使用axios或Promise。

methods: {
  loadData(index) {
    this.isLoading[index] = true; // 设置为加载状态
    this.fetchData(index).then(() => {
      // 调整状态为已完成
      this.isLoading[index] = false;
      //如果没有响应式用下面的设置
       //this.$set(this.isLoading, index, false);
    }).catch(() => {
      // 处理加载失败
    });
  },
  fetchData(index) {
    return new Promise((resolve, reject) => {
      // 模拟异步加载
      setTimeout(() => {
        // 假设这里是你获取数据的逻辑
        this.items[index].dataToLoad = '数据内容';
        resolve();
      }, 2000); // 加载时间
    });
  },
},

4.选择改变事件:使用@selection-change事件监听用户选择的行,确保只对选中的行执行加载操作。

handleSelectionChange(selection) {
  selection.forEach((index) => {
    this.loadData(index);
  });
},

到此这篇关于element table 点击某一行中按钮加载功能实现的文章就介绍到这了,更多相关element table点击按钮加载内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 实现在 Chrome 中执行 JavaScript 代码

    实现在 Chrome 中执行 JavaScript 代码

    这篇文章主要介绍了实现在 Chrome 中执行 JavaScript 代码,下面来介绍如何在 Chrome 中打开开发者工具,以及如何在开发者工具中运行调试 JavaScript 代码,具有一的的参考价值,需要的朋友可以参考一下
    2022-03-03
  • JS实现页面跳转并传值

    JS实现页面跳转并传值

    这篇文章主要为大家详细介绍了JS实现页面跳转并传值,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • JavaScript对JSON数组简单排序操作示例

    JavaScript对JSON数组简单排序操作示例

    这篇文章主要介绍了JavaScript对JSON数组简单排序操作,结合实例形式分析了javascript使用sort()方法针对json数组元素排序的相关操作技巧与注意事项,需要的朋友可以参考下
    2019-01-01
  • 不同编码的页面表单数据乱码问题解决方法

    不同编码的页面表单数据乱码问题解决方法

    这篇文章主要介绍了不同编码的页面表单数据乱码问题解决方法,本文使用一个表单不常用属性accept-charset解决了这个问题,需要的朋友可以参考下
    2015-02-02
  • JavaScript实现图片无缝滚动效果

    JavaScript实现图片无缝滚动效果

    这篇文章主要为大家详细介绍了JavaScript实现图片无缝滚动效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • 如何使用JavaScript策略模式校验表单

    如何使用JavaScript策略模式校验表单

    这篇文章主要介绍了使用JavaScript策略模式校验表单,对JS策略模式感兴趣得同学,可以参考下
    2021-04-04
  • JavaScript作用域链实例详解

    JavaScript作用域链实例详解

    这篇文章主要介绍了JavaScript作用域链,结合实例形式较为详细的分析了作用域链的原理、功能与相关操作注意事项,需要的朋友可以参考下
    2019-01-01
  • echarts实现词云自定义形状的示例代码

    echarts实现词云自定义形状的示例代码

    这篇文章主要介绍了echarts实现词云自定义形状的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-02-02
  • 索趣科技的答案

    索趣科技的答案

    索趣科技的答案...
    2007-02-02
  • 屏蔽相应键盘按钮操作

    屏蔽相应键盘按钮操作

    本篇文章主要是对屏蔽相应键盘按钮的操作代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-03-03

最新评论