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

电子商务网站规划与建设摘要提供营销型网站

电子商务网站规划与建设摘要,提供营销型网站,网站建设运营方案,网站页面图片尺寸目录 背景描述: 开发流程: 详细开发流程: 总结: 背景描述: 这个功能是基于之前写的 封装列表页 的功能继续写的,加了一个选择展示列的功能,可以随时控制表格里展示那些列的数据&#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/879111/

相关文章:

  • 做外贸必须有网站吗广州建设网站怎么做
  • 万能搜索网站网站查询地址
  • 注册网站什么要求怎样做淘宝商品链接导航网站
  • wordpress搭建公司网站统计网站访问量
  • seo整站优化公司持续监控长沙优化网站价格
  • 海口网站建设兼职凡科网站建设平台好么
  • 权重7以上的网站深圳宝安区是富人区吗
  • 做优化的网站电话智博常州网站建设
  • 怎么找网站 优帮云网架结构厂家
  • 网站建设电wordpress使用cdn菜单消失
  • 江门搜索引擎网站推广ppt在哪个软件制作
  • 西安市住房和城乡建设局网站北京建设企业协会网站首页
  • 求个网站填空题在服务器上安装wordpress
  • 网站建设客户会问的问题网站电脑基础培训班
  • 哪些专业能建网站做犯法任务的网站
  • 网站开发邮件深圳市住房和建设局官网查询
  • 一女被多男做的视频网站网络营销有哪些就业岗位
  • 农业建设信息网站昆明个人网站建设平台
  • 网站建设服务器在国外如何打击网站运营与维护是什么意思
  • 建站最便宜的平台墨刀可以做网站原型图吗
  • php网站后台验证码不显示网站管理系统怎么做
  • 有什么网站可以做电子版邀请函腾讯云官网登录入口
  • 诚聘网站开发公司的门户网站模版
  • 网站空间多久续一次费旅游营销网站建设
  • 淮安企业网站哪个网站可以做app界面
  • 北京北京网站建设手机网站开发算什么费用
  • 个人网站备案通过后网站开发从零到上线
  • 984网站建设项目.net 网站开发视频
  • 单位网站建设费如何入账广告设计公司简介范文
  • 网站建设的需求客户网站开发技术 下载