最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue3實現(xiàn)Element Plus表格的多選功能與條件操作

 更新時間:2024年08月09日 09:15:13   作者:碼農(nóng)研究僧  
Element-plus是ElementUI的升級版,是一套基于vue2與vue3的桌面端組件庫,它提供了豐富的組件幫助開發(fā)人員快速構(gòu)建功能強大、風(fēng)格統(tǒng)一的頁面,本文給大家介紹了Vue3實現(xiàn)Element Plus表格的多選功能與條件操作,需要的朋友可以參考下

前言

本文主要以Demo的形式展示,展示要點為主

基本知識點

  1. 數(shù)據(jù)綁定
    v-model 用于雙向綁定數(shù)據(jù),el-table 的 :data 屬性用于綁定表格數(shù)據(jù)

  2. 選擇框列
    使用 el-table-column 的 type=“selection” 屬性來創(chuàng)建多選框列

  3. 處理選擇變化
    @selection-change 事件用于處理選擇狀態(tài)變化,獲取選中的數(shù)據(jù)

  4. 過濾和操作
    通過對選中的數(shù)據(jù)進行過濾和處理,實現(xiàn)不同的操作需求

1. Demo

多選按鈕通常用于選擇表格中的多行數(shù)據(jù)

常用的 UI 框架如 Element Plus 提供了易于集成的多選功能

<template>
  <el-table
    v-loading="loading"
    :data="tableData"
    :stripe="true"
    :show-overflow-tooltip="true"
    @selection-change="handleSelectionChange"
  >
    <el-table-column type="selection" width="55" />
    <el-table-column label="名稱" prop="name" />
    <el-table-column label="狀態(tài)" prop="status" />
    <el-table-column label="操作" fixed="right" width="200">
      <template #default="scope">
        <el-button @click="viewDetails(scope.row)">查看詳情</el-button>
      </template>
    </el-table-column>
  </el-table>
  <el-button @click="handleBatchAction">執(zhí)行批量操作</el-button>
</template>

其js如下:

<script setup>
import { ref } from 'vue';
import { ElTable, ElTableColumn, ElButton, ElMessage } from 'element-plus';

const loading = ref(false);
const tableData = ref([
  { id: 1, name: 'Item 1', status: '未提交' },
  { id: 2, name: 'Item 2', status: '已提交' },
  // ...更多數(shù)據(jù)
]);

const selectedRows = ref([]);

const handleSelectionChange = (selection) => {
  selectedRows.value = selection;
};

const viewDetails = (row) => {
  // 顯示詳情
  console.log('查看詳情:', row);
};

const handleBatchAction = () => {
  if (selectedRows.value.length === 0) {
    ElMessage.warning('請選擇要操作的項');
    return;
  }

  if (selectedRows.value.some(row => row.status !== '未提交')) {
    ElMessage.warning('只能對“未提交”狀態(tài)的記錄進行操作');
    return;
  }

  // 執(zhí)行批量操作
  console.log('批量操作:', selectedRows.value);
};
</script>
  • 表格組件:el-table 組件用于展示數(shù)據(jù),type=“selection” 創(chuàng)建多選框列
  • handleSelectionChange:處理選中項的變化,將選中的數(shù)據(jù)存儲在 selectedRows 中
  • viewDetails:用于查看單條記錄的詳細(xì)信息
  • handleBatchAction:處理批量操作的邏輯,包括檢查選中項的狀態(tài)是否符合條件(如狀態(tài)為“未提交”),然后執(zhí)行操作

2. 實戰(zhàn)

以上主要為了展示Demo的基本要點

對于實戰(zhàn)也同理

增加選項按鈕以及按鈕觸發(fā)

通過按鈕的選中收集相關(guān)信息

將列表的id以數(shù)組的形式傳輸給后端
(上面我多收集了一個status,不滿足的status可以在此處做過濾,讓其不會觸發(fā)按鈕框并且有提示)

結(jié)果如下:

基于上述的Demo以及實戰(zhàn)

通過按鈕做一鍵刪除 、修改等操作就很簡單了

以上就是Vue3實現(xiàn)Element Plus表格的多選功能與條件操作的詳細(xì)內(nèi)容,更多關(guān)于Vue3 Element Plus表格多選與操作的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • vue實現(xiàn)table表格里面數(shù)組多層嵌套取值

    vue實現(xiàn)table表格里面數(shù)組多層嵌套取值

    這篇文章主要介紹了vue實現(xiàn)table表格里面數(shù)組多層嵌套取值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue2.x集成百度UEditor富文本編輯器的方法

    vue2.x集成百度UEditor富文本編輯器的方法

    這篇文章主要為大家詳細(xì)介紹了vue2.x集成百度UEditor富文本編輯器的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • vue拖拽排序插件vuedraggable使用方法詳解

    vue拖拽排序插件vuedraggable使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了vue拖拽排序插件vuedraggable的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Vue3.0中Ref與Reactive的區(qū)別示例詳析

    Vue3.0中Ref與Reactive的區(qū)別示例詳析

    在vue3中對響應(yīng)式數(shù)據(jù)的聲明官方給出了ref()和reactive()這兩種方式,這篇文章主要給大家介紹了關(guān)于Vue3.0中Ref與Reactive區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • vue+iview使用樹形控件的具體使用

    vue+iview使用樹形控件的具體使用

    這篇文章主要介紹了vue+iview使用樹形控件的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Vue使用Pinia輕松實現(xiàn)狀態(tài)管理

    Vue使用Pinia輕松實現(xiàn)狀態(tài)管理

    pinia,一個基于Vue3的狀態(tài)管理庫,它可以幫助開發(fā)人員管理Vue應(yīng)用程序的狀態(tài),本文主要為大家介紹了Pinia的用法,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-06-06
  • 詳解Vue源碼之?dāng)?shù)據(jù)的代理訪問

    詳解Vue源碼之?dāng)?shù)據(jù)的代理訪問

    這篇文章主要介紹了詳解Vue源碼之?dāng)?shù)據(jù)的代理訪問,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • vue中el-table表格的表頭操作代碼

    vue中el-table表格的表頭操作代碼

    本文通過實例代碼介紹對el-table表格的表頭操作方法,本文結(jié)合實例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • Vue3啟用gzip壓縮nginx配置詳解

    Vue3啟用gzip壓縮nginx配置詳解

    這篇文章主要為大家介紹了Vue3啟用gzip壓縮時nginx配置gzip示例詳解詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • 基于Vue3和Element Plus實現(xiàn)可擴展的表格組件

    基于Vue3和Element Plus實現(xiàn)可擴展的表格組件

    在開發(fā)過程中,我們經(jīng)常需要創(chuàng)建具有復(fù)雜功能的表格組件,本文將介紹如何使用 Vue 3 和 Element Plus 庫來構(gòu)建一個可擴展的表格組件,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2024-07-07

最新評論

彭州市| 原平市| 广西| 珠海市| 宿迁市| 呼伦贝尔市| 赣州市| 东海县| 定远县| 河曲县| 什邡市| 夏津县| 木兰县| 黑水县| 四平市| 乐昌市| 佛教| 松溪县| 石阡县| 宁德市| 白玉县| 河西区| 铁力市| 怀化市| 顺义区| 额济纳旗| 永福县| 灵台县| 枞阳县| 罗平县| 福贡县| 桃园市| 常州市| 南平市| 林口县| 柏乡县| 拜城县| 瑞丽市| 广宁县| 民丰县| 临澧县|