国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于element-ui的table實(shí)現(xiàn)樹(shù)級(jí)表格操作及單元格合并

這篇具有很好參考價(jià)值的文章主要介紹了基于element-ui的table實(shí)現(xiàn)樹(shù)級(jí)表格操作及單元格合并。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

如題,公司業(yè)務(wù)需求,數(shù)據(jù)結(jié)構(gòu)比較復(fù)雜,需要在一張表內(nèi)實(shí)現(xiàn)多級(jí)樹(shù)狀數(shù)據(jù)展示及同屬性的單元格合并,并在表格內(nèi)實(shí)現(xiàn)增刪改操作。

網(wǎng)上翻閱了很多實(shí)例,沒(méi)有能解決所有需求的案例,于是自己實(shí)現(xiàn)了一套。

時(shí)間匆忙,邏輯有優(yōu)化的地方還請(qǐng)無(wú)償指出!

最終效果如下

element ui 多級(jí)表格,vue,vue.js,前端,javascript,elementui

圖上,編碼有父子層級(jí),每個(gè)編碼可包含多個(gè)交付階段,每個(gè)交付階段可包含多個(gè)文件,每個(gè)文件可添加不同文檔項(xiàng)次

實(shí)現(xiàn)總結(jié)如下

一. 結(jié)構(gòu)調(diào)整

首先跟后臺(tái)確認(rèn)了數(shù)據(jù)結(jié)構(gòu),根據(jù)右側(cè)最詳細(xì)內(nèi)容為基準(zhǔn),以單層數(shù)組返回(以編碼樹(shù)級(jí)返回更好)。獲取到數(shù)據(jù)后封裝為樹(shù)級(jí)數(shù)據(jù)。保證最詳細(xì)處表格每一行都對(duì)應(yīng)一條數(shù)據(jù)。如圖示,忽略為展開(kāi)子級(jí)數(shù)據(jù),則圖上一共對(duì)應(yīng)七條數(shù)據(jù)。

其中,每個(gè)數(shù)據(jù)對(duì)象帶有三個(gè)屬性:code_cnt(每條編碼下對(duì)應(yīng)的第三部分行數(shù))、stage_cnt(每個(gè)編碼下的交付階段對(duì)應(yīng)的第三部分行數(shù))、file_cnt(每個(gè)文件對(duì)應(yīng)的第三部分行數(shù))。后面用于表格合并。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-622872.html

  1. 封裝完數(shù)據(jù)或直接獲取到父子層級(jí)后,因存在多條數(shù)據(jù)同一編碼,每條數(shù)據(jù)下都有相同children數(shù)據(jù)存在,所以需刪除多余children,保留一條。又因展開(kāi)時(shí)需展示在相同編碼下方,所以需保存相同編碼最后一條數(shù)據(jù)的children字段。如圖上所示,X-R1.1.4編碼有三條數(shù)據(jù),應(yīng)只保留項(xiàng)次編碼為-D3.2.2的children數(shù)據(jù),以保證點(diǎn)擊展開(kāi)子級(jí)時(shí)子層級(jí)展示在三條數(shù)據(jù)下方。
// 當(dāng)同一編碼多條數(shù)據(jù)且有children時(shí),保留最后一級(jí)children
    deleteChildren(data) {
   
      for (let i = 0; i < data.length; i++) {
   
        if (data[i].children && data[i].children.length) {
   
          data[i].hasChild = true;  // 后續(xù)解釋
          if ( data.some( (item, index) => index > i && item.code_id === data[i].code_id ) ) {
   
            delete data[i].children;
          } else {
   
            data[i].children = this.deleteChildren(data[i].children);
          }
        }
      }
      return data;
    }
  1. 因相同編碼、相同階段、相同文件需合并,所以需要遞歸標(biāo)識(shí)出每個(gè)相同編碼、階段、文件的首條數(shù)據(jù),以滿足后續(xù)單元格合并需求。
// 單元格需合并時(shí),標(biāo)記首條數(shù)據(jù)
    dealDataBefore(data) {
   
      let id = "",  stage = "",  file = ""; 
      for (let i = 0; i < data.length; i++) {
   
        if (!id || id !== data[i].interface_item_code) {
   
          // 第一條
          id = data[i].interface_item_code;
          data[i].isFirstLine = true;  // 標(biāo)識(shí)編碼首條數(shù)據(jù)
          stage = data[i].stage_keyid;
          data[i].isFirstStage = true;  // 標(biāo)識(shí)階段首條數(shù)據(jù)
          file = data[i].deliver_file_template_id;
          data[i].isFirstFile = true;  // 標(biāo)識(shí)文件首條數(shù)據(jù)
        } else {
   
          if (!stage || stage !== data[i].stage_keyid) {
   
            stage = data[i].stage_keyid;
            data[i].isFirstStage = true;
            file = data[i].deliver_file_template_id;
            data[i].isFirstFile = true;
          } else {
   
            if (!file || file !== data[i].deliver_file_template_id) {
   
              file = data[i].deliver_file_template_id;
              data[i]

到了這里,關(guān)于基于element-ui的table實(shí)現(xiàn)樹(shù)級(jí)表格操作及單元格合并的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Element-ui中表格el-table圖片預(yù)覽效果實(shí)現(xiàn)(非常實(shí)用)

    Element-ui中表格el-table圖片預(yù)覽效果實(shí)現(xiàn)(非常實(shí)用)

    ??作者:計(jì)算機(jī)編程-吉哥 ??簡(jiǎn)介:專業(yè)從事JavaWeb程序開(kāi)發(fā),微信小程序開(kāi)發(fā),定制化項(xiàng)目、 源碼、代碼講解、文檔撰寫(xiě)、ppt制作。做自己喜歡的事,生活就是快樂(lè)的。 ??心愿:點(diǎn)贊 ?? 收藏 ?評(píng)論??? ?? ?文末獲取源碼聯(lián)系 ??先展示效果:? ???使用的是下面這個(gè)插

    2024年02月11日
    瀏覽(35)
  • 【element-ui】使用el-checkbox完成el-table表格數(shù)據(jù)的全選操作

    【element-ui】使用el-checkbox完成el-table表格數(shù)據(jù)的全選操作

    需求:表格有一列為勾選框列,表格下面有單獨(dú)的按鈕本頁(yè)勾選和全部勾選,跨頁(yè)狀態(tài)可以保存回顯,如下圖所示: 思路:使用一個(gè)數(shù)組[]存儲(chǔ)每一頁(yè)是否全選的狀態(tài),再使用{}來(lái)存儲(chǔ)數(shù)據(jù)的所有選中狀態(tài),其中key為對(duì)應(yīng)的頁(yè)碼,value為每一頁(yè)的選中數(shù)據(jù)【核心?】 1、el-tab

    2024年02月11日
    瀏覽(28)
  • element-ui表格Table詳解

    element-ui表格Table詳解

    先給大家展示一下效果 Table 屬性? 屬性名 說(shuō)明 類型 可選值 默認(rèn)值 data 顯示的數(shù)據(jù) array — — height Table 的高度, 默認(rèn)為自動(dòng)高度。 如果 height 為 number 類型,單位 px;如果 height 為 string 類型,則這個(gè)高度會(huì)設(shè)置為 Table 的 style.height 的值,Table 的高度會(huì)受控于外部樣式。 s

    2024年02月07日
    瀏覽(24)
  • Element-ui 動(dòng)態(tài)Table表格

    Element-ui 動(dòng)態(tài)Table表格

    最近在做相關(guān)需求,感覺(jué)太多的重復(fù)代碼,網(wǎng)上也很多這種動(dòng)態(tài)的,寫(xiě)的很好,所以我借鑒了很多大佬的動(dòng)態(tài)table表格,結(jié)合需求,完成了我自己需要的table。 1.config文件夾相關(guān)配置文件 2.一個(gè)用來(lái)配置的’pageTable.vue’文件 其實(shí)table 表格里面的align也可以動(dòng)態(tài),我這里偷懶了

    2024年02月11日
    瀏覽(21)
  • 隨手記:使用sortable.js 實(shí)現(xiàn)element-ui el-table 表格上下拖拽排序

    需求場(chǎng)景: 表格可以實(shí)現(xiàn)上下拖拽row實(shí)現(xiàn)新排序 首先,安裝sortable.js ?引入表格排? 全局掛在組件 使用頁(yè)面引入 使用sortable.js表格一定要有唯一的row-key,一般綁定的是id,不然拖拽會(huì)不生效 data聲明 sortableContainer: null,為的是后面如果有需要可以做銷毀操作 ? 因?yàn)槲疫@里是表

    2024年02月22日
    瀏覽(29)
  • Vue Element-ui Table表格排序

    Vue Element-ui Table表格排序

    一.表格中有時(shí)候會(huì)有排序的需求,如果只針對(duì)當(dāng)前頁(yè)進(jìn)行排序,那么前端就可以實(shí)現(xiàn)排序,在對(duì)應(yīng)需要排序的字段中,使用sortable字段即可。 二.存在分頁(yè)的情況時(shí),前端僅僅使用sortable當(dāng)前頁(yè)排序已經(jīng)不能滿足我們的需求,無(wú)法對(duì)所有數(shù)據(jù)進(jìn)行排序。這時(shí)候我們就要使用后端

    2024年02月11日
    瀏覽(25)
  • (Table)操作:Element-ui 中 Table 表格的設(shè)置表頭/去除下標(biāo)線/設(shè)置行間距等屬性的使用及 slot-scope=“scope“ 的使用案例

    (Table)操作:Element-ui 中 Table 表格的設(shè)置表頭/去除下標(biāo)線/設(shè)置行間距等屬性的使用及 slot-scope=“scope“ 的使用案例

    1、 Element-ui 提供 Table 組件情況: 其一、 Element-ui 自提供的 Table 代碼情況為(示例的代碼): 代碼地址: https://element.eleme.cn/#/zh-CN/component/table 其二、頁(yè)面的顯示情況為: 2、目標(biāo)修改后的情況: 1、 Table 表格設(shè)置表頭及去除下標(biāo)線等屬性的修改: 其一、代碼: 其二、效果展示

    2024年02月11日
    瀏覽(41)
  • element-ui table 設(shè)置表格滾動(dòng)條位置

    場(chǎng)景: 在切換不同頁(yè)面時(shí)(被 keep-alive 緩存的組件間切換),頁(yè)面中的element-ui table的滾動(dòng)條位置沒(méi)有停留在原來(lái)的位置。目前需要切換不同的頁(yè)面返回來(lái)后,滾動(dòng)條保持在原來(lái)的位置。 代碼:

    2024年02月11日
    瀏覽(30)
  • element-ui table表格雙擊行內(nèi)編輯

    行內(nèi)雙擊編輯的本質(zhì):點(diǎn)擊后input框出現(xiàn),保存后span標(biāo)簽出現(xiàn) 如果有編輯某一行的某列其他列隨之變化的需求,則需要將上一步選中行存下來(lái),不然雙擊后選中行就變了,隨之修改的值也會(huì)產(chǎn)生錯(cuò)誤 此外,因?yàn)橛玫搅?tableRowClassName({row, rowIndex}){ row.index = rowIndex;}, ,所以導(dǎo)致

    2024年02月15日
    瀏覽(29)
  • 【element-ui】table表格底部合計(jì)自定義配置

    【element-ui】table表格底部合計(jì)自定義配置

    目錄 ?帶合計(jì)的表格設(shè)置 ?自定義方法??getSummaries ? 【element-ui】table表格底部合計(jì)自定義配置,最近做管理系統(tǒng)用到餓了么UI,用到了table表格合計(jì)需求,常用的table底部,有時(shí)候不是所有內(nèi)容都需要合計(jì),比如上圖這個(gè)編號(hào)是數(shù)字,但是不需要合計(jì)計(jì)算處理的,這時(shí)候就需

    2024年02月11日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包