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

vue element ui table表格--實現(xiàn)列的顯示與隱藏

這篇具有很好參考價值的文章主要介紹了vue element ui table表格--實現(xiàn)列的顯示與隱藏。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

實現(xiàn)效果
vue <el-table-column 設置列隱藏v-show,vue.js,javascript,elementui


提示:代碼段太簡單就不解釋了,自己看代碼自己更改,下面代碼直接無腦復制更改就行文章來源地址http://www.zghlxwxcb.cn/news/detail-784436.html

一、實現(xiàn)代碼?

<template>
  <div id="app">
    <el-table :data="tableData" border style="width: 100%" ref="table">
      <el-table-column
        fixed
        prop="date"
        label="日期"
        width="150"
        v-if="showColumn.date"
      >
      </el-table-column>
      <el-table-column
        prop="name"
        label="姓名"
        width="120"
        v-if="showColumn.name"
      >
      </el-table-column>
      <el-table-column
        prop="province"
        label="省份"
        width="120"
        v-if="showColumn.provinces"
      >
      </el-table-column>
      <el-table-column
        prop="city"
        label="市區(qū)"
        width="120"
        v-if="showColumn.city"
      >
      </el-table-column>
      <el-table-column
        prop="address"
        label="地址"
        width="300"
        v-if="showColumn.adreess"
      >
      </el-table-column>
      <el-table-column
        prop="zip"
        label="郵編"
        width="120"
        v-if="showColumn.zipCode"
      >
      </el-table-column>
      <el-table-column fixed="right" width="100" align="center">
        <template slot="header">
          <i
            class="el-icon-setting"
            style="font-size: 22px; cursor: pointer"
            @click="showColumnOption"
          ></i>
        </template>
        <template slot-scope="scope">
          <el-button @click="handleClick(scope.row)" type="text" size="small"
            >查看</el-button
          >
          <el-button type="text" size="small">編輯</el-button>
        </template>
      </el-table-column>
    </el-table>
    <!-- 配置列面板 -->
    <transition name="fade">
      <div class="columnOption" v-show="isShowColumn">
        <div class="content">
          <div class="head">選擇顯示字段</div>
          <div class="body">
            <el-checkbox v-model="checkList.date" disabled>日期</el-checkbox>
            <el-checkbox v-model="checkList.name">姓名</el-checkbox>
            <el-checkbox v-model="checkList.provinces">省份</el-checkbox>
            <el-checkbox v-model="checkList.city">市區(qū)</el-checkbox>
            <el-checkbox v-model="checkList.adreess">地址</el-checkbox>
            <el-checkbox v-model="checkList.zipCode">郵編</el-checkbox>
          </div>
          <div class="footer">
            <el-button size="small" type="primary" plain @click="saveColumn"
              >保存列配置</el-button
            >
          </div>
        </div>
      </div>
    </transition>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isShowColumn: false,
      tableData: [
        {
          date: "2016-05-02",
          name: "王小虎",
          province: "上海",
          city: "普陀區(qū)",
          address: "上海市普陀區(qū)金沙江路 1518 弄",
          zip: 200333,
        },
        {
          date: "2016-05-04",
          name: "王小虎",
          province: "上海",
          city: "普陀區(qū)",
          address: "上海市普陀區(qū)金沙江路 1517 弄",
          zip: 200333,
        },
        {
          date: "2016-05-01",
          name: "王小虎",
          province: "上海",
          city: "普陀區(qū)",
          address: "上海市普陀區(qū)金沙江路 1519 弄",
          zip: 200333,
        },
        {
          date: "2016-05-03",
          name: "王小虎",
          province: "上海",
          city: "普陀區(qū)",
          address: "上海市普陀區(qū)金沙江路 1516 弄",
          zip: 200333,
        },
      ],
      // 列的配置化對象,存儲配置信息
      checkList: {},
      showColumn: {
        date: true,
        name: true,
        provinces: true,
        city: true,
        adreess: true,
        zipCode: true,
      },
    };
  },
  watch: {
    // 監(jiān)聽復選框配置列所有的變化
    checkList: {
      handler: function (newnew, oldold) {
        // console.log(newnew); 
        this.showColumn = newnew;
        // 這里需要讓表格重新繪制一下,否則會產(chǎn)生固定列錯位的情況
        this.$nextTick(() => {
          this.$refs.table.doLayout();
        });
      },
      deep: true,
      immediate: true
    },
  },
  mounted() {
    // 發(fā)請求得到checkListInitData的列的名字
    if(localStorage.getItem("columnSet")){
      this.checkList = JSON.parse(localStorage.getItem("columnSet"))
    }else{
      this.checkList = {
        date: true,
        name: true,
        provinces: true,
        city: true,
        adreess: true,
        zipCode: true,
      };
    }
  },
  methods: {
    handleClick(row) {
      console.log(row);
    },
    showColumnOption() {
      this.isShowColumn = true;
    },
    saveColumn() {
      localStorage.setItem("columnSet",JSON.stringify(this.checkList))
      this.isShowColumn = false;
    },
  },
};
</script>

<style lang="scss" scoped>
.columnOption {
  position: fixed;
  z-index: 20;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  display: flex;
  flex-direction: row-reverse;
  .content {
    width: 100px;
    height: 100%;
    background-color: rgb(203, 223, 198);
    .head {
      width: 100%;
      height: 44px;
      border-bottom: 1px solid #000;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 12px;
    }
    .body {
      width: 100%;
      height: calc(100% - 88px);
      box-sizing: border-box;
      padding-top: 10px;
      overflow-y: auto;
      .items {
        width: 100%;
        height: 100%;
        overflow-y: auto;
        display: flex;
        flex-direction: column;
        .el-checkbox {
          width: 100%;
          height: 28px;
          line-height: 28px;
          margin-bottom: 14px;
          display: inline-block;
          font-family: PingFang SC;
          font-style: normal;
          font-weight: normal;
          font-size: 14px;
          color: #000;
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
          box-sizing: border-box;
          padding-left: 14px;
        }
        .el-checkbox:hover {
          background-color: #f5f7fa;
        }
      }
    }
    .footer {
      width: 100%;
      height: 44px;
      border-top: 1px solid #000;
      display: flex;
      justify-content: center;
      align-items: center;
    }
  }
}
// 控制淡入淡出效果
.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.3s;
}
.fade-enter,
.fade-leave-to {
  opacity: 0;
}
</style>

到了這里,關(guān)于vue element ui table表格--實現(xiàn)列的顯示與隱藏的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 解決vue-electron element-UI中el-table表格不顯示

    解決vue-electron element-UI中el-table表格不顯示

    問題:element-UI官網(wǎng)上el-table組件,引入自己項目的時候表格不顯示。 解決方案: 修改.electron-vuewebpack.renderer.config.js 將 修改為 即可解決。

    2024年02月16日
    瀏覽(36)
  • Vue3 - Element Plus 表格組件 “手動“ 取消/選中勾選列,并同步更新表格復選框 UI 狀態(tài)(el-table 表格組件中,通過代碼手動控制某個列的選中與取消勾選,并且復選框跟著變)

    Vue3 - Element Plus 表格組件 “手動“ 取消/選中勾選列,并同步更新表格復選框 UI 狀態(tài)(el-table 表格組件中,通過代碼手動控制某個列的選中與取消勾選,并且復選框跟著變)

    網(wǎng)上基本上都是全部取消勾選的教程,沒有僅對單獨列操作的教程。 本文 實現(xiàn)了在 vue3 + element plus 組件庫中,對 “某一個” 或 “幾個單獨” 列進行勾選/取消(手動操作表格復選框),并且讓表格復選框自動同步選中狀態(tài), 完美解決刪除表格列勾選的數(shù)據(jù)后,選中和取消

    2024年02月03日
    瀏覽(131)
  • Vue中使用Element UI的Table組件實現(xiàn)嵌套表格(最簡單示例)

    Vue中使用Element UI的Table組件實現(xiàn)嵌套表格(最簡單示例)

    以下是一個簡單的示例代碼,演示如何在Vue中使用Element UI的Table組件實現(xiàn)嵌套表格: 上面的代碼通過type=\\\"expand\\\"設置了一個展開按鈕,點擊該按鈕會顯示與當前行關(guān)聯(lián)的子表格內(nèi)容。 在上面的示例中,我們定義了一個包含姓名和年齡的主表格,以及一個展開列用于顯示與每行

    2024年02月02日
    瀏覽(41)
  • vue el-table-column 修改一整列的背景顏色

    vue el-table-column 修改一整列的背景顏色

    目錄 修改表頭以及一整列數(shù)據(jù)的背景顏色,效果如下: 總結(jié) 修改表頭以及一整列數(shù)據(jù)的背景顏色,效果如下: 修改表頭背景顏色:在el-table綁定header-cell-style 修改一整列的數(shù)據(jù)背景顏色:在el-table綁定:cell-style=\\\"columnStyle\\\" 完整代碼如下: 記錄來源于需求,希望能幫助到你~

    2024年02月06日
    瀏覽(25)
  • element ui el-table表格縱向橫向滾動條去除并隱藏空白占位列

    element ui el-table表格縱向橫向滾動條去除并隱藏空白占位列

    當table內(nèi)容列過多時,可通過 height屬性 設置table高度以固定table高度、固定表頭,使table內(nèi)容可以滾動 現(xiàn)在需求是 右側(cè)滾動條 不好看,需要去 除滾動條 , 并隱藏滾動條所占列 的位置

    2024年02月04日
    瀏覽(25)
  • vue+Element UI實現(xiàn)表格表頭縱向顯示

    vue+Element UI實現(xiàn)表格表頭縱向顯示

    提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 element框架的teble表格的數(shù)據(jù)展示由橫向轉(zhuǎn)向豎向,主要包括element框架的teble表格的數(shù)據(jù)展示由橫向轉(zhuǎn)向豎向使用實例、應用技巧、基本知識點總結(jié)和需要注意事項,具有一定的參考價值,需要的朋友可以

    2024年02月06日
    瀏覽(28)
  • vue表格顯示圖片,采用element ui實現(xiàn)

    vue表格顯示圖片,采用element ui實現(xiàn) 首先定義一個數(shù)組tableData,然后return這個數(shù)組,采用element的表格模板,需要注意的是el-table-column標簽包裹著el-image圖片顯示標簽,但是由于作用域插槽只允許在template模板使用,所以el-image圖片顯示標簽外加一層template模板標簽,在vue3中作用

    2024年02月16日
    瀏覽(28)
  • el-ment ui 表格組件table實現(xiàn)列的動態(tài)插入功能

    el-ment ui 表格組件table實現(xiàn)列的動態(tài)插入功能

    在實際需求中我們經(jīng)常遇到各種奇葩的需求,不足為奇。每個項目的需求各不相同,實現(xiàn)功能的思路大致是一樣的。 本文來具體介紹怎么實現(xiàn)table表格動態(tài)插入幾列。 首先實現(xiàn)思路有2種, 1. 插入的位置如果是已知的,我知道在哪個標題的后面插入這就好辦了。 ?上圖可以看

    2024年02月16日
    瀏覽(20)
  • vue Element-Ui 簡單實現(xiàn)輸入框密碼的顯示與隱藏

    element-ui 簡單實現(xiàn)密碼輸入框的顯示與隱藏 只需要在輸入框代碼中添加 show-password ,然后在你輸入密碼時會自動出現(xiàn)眼睛圖標,點擊圖標就可以顯示和隱藏密碼。 相關(guān)資料: element-ui 圖標庫: https://element.eleme.cn/#/zh-CN/component/icon

    2024年02月11日
    瀏覽(18)
  • el-table 列的動態(tài)顯示與隱藏

    el-table 列的動態(tài)顯示與隱藏

    目錄 業(yè)務場景 官方鏈接 實現(xiàn)效果圖 使用框架 代碼展示 template代碼 ①、為什么要給el-table綁定【:key=\\\"reload\\\"】? ②、為什么給每個綁定【key=\\\"Math.random()\\\"】呢? ③、為什么列改變之后要添加【reload = Math.random();】修改值呢? ④、為什么要給el-table定義【max-height】屬性? ⑥、為

    2023年04月18日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包