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

做网站是怎样赚钱网站建设报价比较

做网站是怎样赚钱,网站建设报价比较,百度关键词推广多少钱,今科网站建设公司theme: smartblue 前言 需求场景#xff1a; 在提供了数据查看和修改的表格视图中(如table、a-table等…)#xff0c;允许用户自行选择多行数据#xff0c;依据当前状态进行特定列数据的合并操作。选中的数据将统一显示为选中组的首条数据值。同时#xff0c;页面会即时反… theme: smartblue 前言 需求场景 在提供了数据查看和修改的表格视图中(如table、a-table等…)允许用户自行选择多行数据依据当前状态进行特定列数据的合并操作。选中的数据将统一显示为选中组的首条数据值。同时页面会即时反馈显示合并后的效果提供直观的操作反馈。 效果 方案选型 依赖库vxe-table:merge-cellsmergeCells用作效果展示 核心逻辑 根据数据行中的mergeId是否相等判断是否有过合并操作前端执行合并操作后需将合并的数据的mergeId设置为相同的数值并将选中数据中需要合并的数据项置为第一行选中的数据并在页面展示合并后的效果。 保证两个一致 数据一致性数据覆盖 优先级极高展示一致性根据mergeId调整展示 优先级高 数据源举例 描述 常规的后端返回结构数组对象数组中每一项指代每一条数据。 列表数据示例: data:[ {mergeId:1,...}, {mergeId:2,...}, {mergeId:3,...} ]合并逻辑 - 数据一致性 coverParams需要覆盖的参数名存在于列表数据中 firstData第一条数据 selectRows选中的数据集合 coverParams.forEach(item {for (let i 1; i number; i) {// 选中的数据都覆盖第一条数据的值selectRows[i][item] firstData[item];// }}}); - 展示一致性 newCurrentRows由于选择时的随机性和数据结构的不稳定性记录点击的位置点并将位置点排序记录。 // 生成正序数组newCurrentRowsconst newCurrentRows currentRows.sort((a, b) a - b); // 若newCurrentRows数据不连续 则将选中数据都置为队尾const isEqual newCurrentRows.every((value, index, array) {if (index 0) {return true;} else {return value array[index - 1] 1;}})情况1选中的数据连续 coverCols需要合并的行号组字段的展示位置用作生成mergeCells firstRow第一行位置 number对应rowspan得到跨几行的数据 // 获取选中了几条数据const number state.selectRows.length;// 取第一个行号const firstRow newCurrentRows[0]; if (isEqual) { const mergeCellsArr [];coverCols.forEach(item {mergeCellsArr.push({row: firstRow,col: item,rowspan: number,colspan: 1});});mergeCells.value mergeCellsArr; } 情况2选中的数据不连续 核心处理将不连续的数据处理取出放置队尾满足连续条件继续操作。 // 非选中的数据const fristElements [];// 选中的数据集合const secondElements [];// // 选中的数据置于队尾// // 遍历原始数组const dataNumber dataSource.value.length;for (let i 0; i dataNumber; i) {// 如果i在 newCurrentRows中不存在则将其置于fristElements前列if (!newCurrentRows.includes(i)) {fristElements.push(dataSource.value[i]);}// // 如果i在 newCurrentRows中存在则将其置于fristElements后列if (newCurrentRows.includes(i)) {secondElements.push(dataSource.value[i]);}}const newSecondElements secondElements.map(item {return {...item};});// 将新数组的元素追加到原始数组的末尾dataSource.value fristElements.concat(newSecondElements); 存在合并标识的数据处理 主要用作数据中存在mergeId标记如何展示合并效果。 // 初始数据根据mergeId组装合并效果const baseDataMerge () {// coverCols 需要合并的列号 注塑全新const baseCoverCols getCoverCols();// length 需要合并的行数const mergedCells [];dataSource.value.forEach((row, rowIndex) {//检查当前行的mergeId是否和下一行的mergeId一样 且mergeId存在if (rowIndex dataSource.value.length - 1 row.mergeId dataSource.value[rowIndex 1].mergeId row.mergeId ! undefined) {// 仅在第一次符合条件时 判断横跨几行 默认跨两行if (dataSource.value[rowIndex 3] row.mergeId dataSource.value[rowIndex 3].mergeId) {// 横跨3行state.mergeLength 4;} else if (dataSource.value[rowIndex 2] row.mergeId dataSource.value[rowIndex 2].mergeId) {// 横跨4行state.mergeLength 3;} else {// 横跨2行state.mergeLength 2;}baseCoverCols.forEach(item {mergedCells.push({row: rowIndex, // 开始行由符合条件的rowspan: state.mergeLength, // 合并行数由选中的数据条数决定col: item,colspan: 1});});state.mergeFlag true;}});console.log(初始数据合并效果, mergedCells);return mergedCells;};
http://www.hkea.cn/news/14401561/

相关文章:

  • 网站开通宣传怎么写wordpress 主题 xiu
  • dedecms部署两个网站共享会议室租赁平台
  • 网站建设费预付定金什么科目企业网站建站之星
  • 做雷达干扰的网站东莞浩智建设网站哪家比较好
  • 长沙企业建站程序免费个人网站搭建
  • 大哥商品做网站的目的新会住房和城乡建设部网站
  • 南通做百度网站的公司家具全屋定制
  • 怎么用自己电脑做网站服务器做电商看的网站有哪些内容
  • 做文学网站算不算开公司网站建设栏目规划
  • 坪地网站建设市场百度网站联系方式
  • 网站开发项目流程书电商ui设计是什么意思
  • 网站后台风格网站后缀co
  • 竞争者网站建设情况宁波网站推广软件服务
  • 免费论坛申请网站微网站 底部导航菜单
  • 网站开发背景400字化工材料 技术支持 东莞网站建设
  • 兴国做网站天津网
  • 河北建设网官方网站c c也能干大事网站开发
  • 网站建设及域名申请 厦门建设银行储蓄卡申请网站
  • 教育网站 怎么做吸引人seo怎么判断网站的好坏
  • 定制建站 app建设网站建设价格比较
  • 禅城区网站建站网站dede网站移动端怎么做
  • 齐博网站模板网站二级目录 修改路径
  • 建设一个下载网站网络营销的特点主要有
  • 做网站看好金石网络岳阳关键词优化
  • 厦门市建设局官方网站成都网页设计培训哪家好
  • 做问卷赚钱最好似网站51个人网站怎么打开
  • 51网站空间还有吗什么网站发布建设标准
  • 网站SEM优化如何做奥德贵阳网络推广公司
  • 橙色网站模板网站建设公司图片
  • 备案需要写网站建设方案书wordpress文章推荐插件