91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在vue中利用element對table表格的動態列進行篩選

發布時間:2021-01-14 14:32:04 來源:億速云 閱讀:1691 作者:Leah 欄目:開發技術

怎么在vue中利用element對table表格的動態列進行篩選?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

實現代碼:

HTML部分就是用一個多選框組件展示列選項
v-if="colData[i].istrue"控制顯示隱藏,把列選項傳到checkbox里再綁定勾選事件。

<el-popover placement="right" title="列篩選" trigger="click" width="420">            
	<el-checkbox-group v-model="checkedColumns" size="mini">
		<el-checkbox v-for="item in checkBoxGroup" :key="item" :label="item" :value="item"></el-checkbox>
	</el-checkbox-group>
	<el-button slot="reference" type="primary" size="small" plain><i class="el-icon-arrow-down el-icon-menu" />列表項展示篩選</el-button>
</el-popover>
<el-table :data="attendanceList" @sort-change="sort" highlight-current-row :row-class-name="holidayRow" @selection-change="editAll" ref="multipleTable">
	<el-table-column type="selection" width="55" align="center"></el-table-column>
		<el-table-column label="員工基本信息">
		<el-table-column v-if="colData[0].istrue" align="center" prop="user_id" label="工號" width="80" fixed></el-table-column>
		<el-table-column v-if="colData[1].istrue" align="center" prop="name" label="姓名" width="80" fixed></el-table-column>
		<el-table-column v-if="colData[2].istrue" align="center" prop="age" label="年齡" width="60"></el-table-column>
		<el-table-column v-if="colData[3].istrue" align="center" prop="gender" label="性別" width="80"></el-table-column>
		<el-table-column v-if="colData[4].istrue" align="center" prop="department" label="部門名稱" width="100"></el-table-column>
	</el-table-column>
	......

js 數據存放的data部分

	//列表動態隱藏
	 colData: [
	   { title: "工號", istrue: true },
	   { title: "姓名", istrue: true },
	   { title: "年齡", istrue: true },
	   { title: "性別", istrue: true },
	   { title: "部門名稱", istrue: true },	   
	 ],
	 checkBoxGroup: [],
	 checkedColumns: [],

js 方法實現部分

created() {      
	  // 列篩選
	  this.colData.forEach((item, index) => {
	    this.checkBoxGroup.push(item.title);
	    this.checkedColumns.push(item.title);
	  })
	  this.checkedColumns = this.checkedColumns
	  let UnData = localStorage.getItem(this.colTable)
	  UnData = JSON.parse(UnData)
	  if (UnData != null) {
	    this.checkedColumns = this.checkedColumns.filter((item) => {
	      return !UnData.includes(item)
	    })
	  }
	},
 // 監控列隱藏
 watch: {
   checkedColumns(val,value) {
     let arr = this.checkBoxGroup.filter(i => !val.includes(i)); // 未選中
     localStorage.setItem(this.colTable, JSON.stringify(arr))
     this.colData.filter(i => {
       if (arr.indexOf(i.title) != -1) {
         i.istrue = false;
       } else {
         i.istrue = true;
       }
     });
   }
 },

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鄂尔多斯市| 乳源| 乌鲁木齐市| 镇安县| 通化市| 都匀市| 河东区| 兰州市| 龙口市| 惠来县| 闽清县| 安平县| 岳池县| 余姚市| 水城县| 梅河口市| 澎湖县| 夏邑县| 北安市| 两当县| 蓬莱市| 加查县| 江阴市| 祁阳县| 娱乐| 阳高县| 交口县| 西丰县| 郯城县| 临朐县| 桂阳县| 威海市| 长岛县| 和林格尔县| 开封市| 台安县| 景宁| 仁化县| 乌海市| 库尔勒市| 吴川市|