表格右侧工具栏组件支持显隐列
This commit is contained in:
		| @@ -1,4 +1,3 @@ | ||||
| <!-- @author Shiyn/   huangmx 20200807优化--> | ||||
| <template> | ||||
|   <div class="top-right-btn"> | ||||
|     <el-row> | ||||
| @@ -8,31 +7,74 @@ | ||||
|       <el-tooltip class="item" effect="dark" content="刷新" placement="top"> | ||||
|         <el-button size="mini" circle icon="el-icon-refresh" @click="refresh()" /> | ||||
|       </el-tooltip> | ||||
|       <el-tooltip class="item" effect="dark" content="显隐列" placement="top" v-if="columns"> | ||||
|         <el-button size="mini" circle icon="el-icon-menu" @click="showColumn()" /> | ||||
|       </el-tooltip> | ||||
|     </el-row> | ||||
|     <el-dialog :title="title" :visible.sync="open" append-to-body> | ||||
|       <el-transfer | ||||
|         :titles="['显示', '隐藏']" | ||||
|         v-model="value" | ||||
|         :data="columns" | ||||
|         @change="dataChange" | ||||
|       ></el-transfer> | ||||
|     </el-dialog> | ||||
|   </div> | ||||
| </template> | ||||
| <script> | ||||
| export default { | ||||
|   name: "RightToolbar", | ||||
|   data() { | ||||
|     return {}; | ||||
|     return { | ||||
|       // 显隐数据 | ||||
|       value: [], | ||||
|       // 弹出层标题 | ||||
|       title: "显示/隐藏", | ||||
|       // 是否显示弹出层 | ||||
|       open: false, | ||||
|     }; | ||||
|   }, | ||||
|   props: { | ||||
|     showSearch: { | ||||
|       type: Boolean, | ||||
|       default: true, | ||||
|     }, | ||||
|     columns: { | ||||
|       type: Array, | ||||
|     }, | ||||
|   }, | ||||
|  | ||||
|   methods: { | ||||
|     //搜索 | ||||
|     // 搜索 | ||||
|     toggleSearch() { | ||||
|       this.$emit("update:showSearch", !this.showSearch); | ||||
|     }, | ||||
|     //刷新 | ||||
|     // 刷新 | ||||
|     refresh() { | ||||
|       this.$emit("queryTable"); | ||||
|     }, | ||||
|     // 右侧列表元素变化 | ||||
|     dataChange(data) { | ||||
|       for (var item in this.columns) { | ||||
|         const key = this.columns[item].key; | ||||
|         this.columns[item].visible = !data.includes(key); | ||||
|       } | ||||
|     }, | ||||
|     // 打开显隐列dialog | ||||
|     showColumn() { | ||||
|       this.open = true; | ||||
|     }, | ||||
|   }, | ||||
| }; | ||||
| </script> | ||||
| <style lang="scss" scoped> | ||||
| ::v-deep .el-transfer__button { | ||||
|   border-radius: 50%; | ||||
|   padding: 12px; | ||||
|   display: block; | ||||
|   margin-left: 0px; | ||||
| } | ||||
| ::v-deep .el-transfer__button:first-child { | ||||
|   margin-bottom: 10px; | ||||
| } | ||||
| </style> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user