当前位置: 首页 > news >正文

espcms易思企业网站管理系统破解相亲网站上做投资的女生

espcms易思企业网站管理系统破解,相亲网站上做投资的女生,门户网站建设的平台,海北高端网站建设多少钱目录 背景描述: 开发流程: 详细开发流程: 总结: 背景描述: 这个功能是基于之前写的 封装列表页 的功能继续写的,加了一个选择展示列的功能,可以随时控制表格里展示那些列的数据&#xf…

目录

背景描述:

开发流程:

详细开发流程:

总结:


背景描述:

这个功能是基于之前写的   封装列表页  的功能继续写的,加了一个选择展示列的功能,可以随时控制表格里展示那些列的数据,如图,大概样式是这样:


开发流程:

基本上和封装列表页的流程相似,这里不做多余描述,只是需要从父组件里传递tableColumn,也可以在本组件定义

tableColumn除了控制表格的column,还有就是【选择列】的功能的数据从这里来,这里可以设置哪些需要显示与隐藏,如下:

const tableColumn = ref([{column_id: 'op_name',column_name: '操作人',default_display: true,sortable: true,minWidth: 100},{column_id: 'op_roles',column_name: '角色',default_display: true,sortable: true,minWidth: 150},//....{column_id: 'create_at',column_name: '名称12',default_display: true,sortable: true,minWidth: 170},{column_id: 'update_at',column_name: '名称13',default_display: false,sortable: true,minWidth: 170}
])

详细开发流程:

提示:这里描述项目中遇到的问题:

1.选择展示列

<el-col :span="12"><el-popover placement="bottom" trigger="click" :width="300"><template #reference><el-button class="right-button" type="default"><el-icon><Filter /></el-icon></el-button></template><span style="margin: 0 10px 0 0; font-size: 14px">选择展示列</span><el-select v-model="selectedColumns" multiple collapse-tags :teleported="false" @change="selectColumns"><el-optionv-for="(item, index) in tableCol":key="item.column_id":disabled="index == 0":label="item.column_name":value="item.column_id"></el-option></el-select></el-popover></el-col>

这里的tableCol是从父组件传的tableColumn, tableCol.value = props.tableColumn

2.已选择的展示列怎么控制表格的列显隐

// 已选的展示列
const selectedColumns = ref([])
//选择展示列
const selectColumns = () => {showTableCol.value = []let arr = []if (selectedColumns.value.length && selectedColumns.value.length != 0) {selectedColumns.value.forEach((element) => {tableCol.value.forEach((item, index) => {if (index == 0) {item.default_display = true}item.default_display = falseif (element == item.column_id || index == 0) {  //比如至少要选择第一列,不能一列都不显示arr.push(index)}})})arr = [...new Set(arr)]arr.forEach((element) => {tableCol.value[element].default_display = true})let dataTable = tableCol.value.filter((item, index) => {return item.default_display})showTableCol.value = dataTable} else {let dataTable = []dataTable = tableCol.value.filter((item) => {return item.default_display})dataTable.forEach((item) => {selectedColumns.value.push(item.column_id)})showTableCol.value = dataTable}
}

3. 表格的列显示

 <el-tablev-loading="loading":data="tableData"class="table-small-custom"height="calc(100vh - 240px)"stripe@sort-change="changeTableSort"><el-table-column type="index" width="70" label="序号"><template #default="scope"><span v-text="getIndex(scope.$index)"></span></template></el-table-column><el-table-columnv-for="(col, index) in showTableCol":key="index":prop="col.column_id":label="col.column_name":min-width="col.minWidth":sortable="col.sortable":is-show-overflow-tooltip="true"/></el-table>

这里表格的渲染是通过v-for  showTableCol ,主要就是这个。

over


总结:

目前我经常是通过这个方式写【选择展示列】功能,过滤那部分,没怎么考虑最优解,反正数据也不多,直接这样写了,如果有更合适的方式,欢迎分享~

http://www.yayakq.cn/news/227645/

相关文章:

  • 觅知网 大而全的高质量素材站虚拟主机销售网站模板
  • 如何使用上线了app建设网站wordpress 老版编辑器
  • 做网站需要哪些工具泰安市高新区建设局网站
  • 平邑住房和城乡建设局网站买建筑公司网站
  • 做电商卖玉器的网站做网站的公司叫什么软件
  • 长安网站建设公司网页设计网站设计欣赏
  • html5 国外网站青岛网站建设方案咨询
  • 网站开发维护合同大学生网站开发接单
  • 网站架设方式嘉兴做网站的公司
  • 智慧团建网站没有验证码wordpress分销系统
  • 国网北京电力建设研究院网站vs2008做html5网站
  • 网站建设工作小组wordpress 角色 菜单
  • 福州高端品牌网站建设找公司建网站报价
  • 苏州市规划建设局网站爱站网关键词
  • 中山网站建设哪家好吉林市网站制作
  • 网站推广文章范例微信公众号文章编辑wordpress
  • 具有价值的建网站怎样创建一个自己的网站
  • 安卓盒子做网站wordpress设计页面教程
  • 自己想做一个网站怎么做的数字镭网站开发
  • 建设工程+质量+协会网站网站建设后如何修改
  • 佛山市建设网站去哪个网站可以接单做ps等等
  • 360搜索怎么做网站自然优化WordPress蜘蛛爬行插件
  • 金华大企业网站建设有哪些找个可以直接看的网站
  • 建设公司网站有用吗自己做的网站如何管理
  • 漳州网站开发制作去哪找人做网站
  • 中英文的网站怎么建设wordpress国内网站吗
  • 电子商务网站建设与管理答案怎样创建一个网站平台
  • 医疗网站建设行业现状怎么建设网站临汾
  • 细分网站wordpress知更鸟最新破解
  • 武安市网站建设建立网站怎么搞