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

帝国cms做视频网站百度云网盘搜索引擎入口

帝国cms做视频网站,百度云网盘搜索引擎入口,不用80端口做网站,网站开发周期和进度管理概要 vuespringbootelement-ui实现table的树懒加载 整体架构流程 前端vue2,elment-ui,内置封装了axios使用es6导出的写法,js,css等 后端spring全家桶 技术细节 前端:调用elementui的组件Element - The worlds most popular Vue UI framework <el-table:data"biddD…

概要

vue+springboot+element-ui实现table的树懒加载

整体架构流程

前端vue2,elment-ui,内置封装了axios使用es6导出的写法,js,css等
后端spring全家桶

技术细节

前端:调用elementui的组件Element - The world's most popular Vue UI framework

<el-table:data="biddData"style="width: 100%;margin-top: 10px"row-key="id":border="false"lazy:tree-props="{children: 'children', hasChildren: 'hasChildren'}"class="horizontal-line-table":header-cell-style="{background:'#42b983',color: '#ffffff'}"@selection-change="handleSelectionChange"ref="multipleTable"
>

这里主要就是将后端整理好的数据双向绑定表格里

 getMenuData() {setTimeout(() => {url.getMenusTree().then(res => {const fileTypeMap = {0: '测试目录',1: '测试目录二级',2: '测试目录三级',3: '测试文档一类',4: '测试文档二类',5: '测试文档三类'};// 定义递归处理函数const processTree = (nodes) => {return nodes.map(item => ({...item,filetype: fileTypeMap[item.filetype] || item.filetype,children: item.children ? processTree(item.children) : []}));};this.biddData = processTree(res.data);// console.log('处理后的数据:', this.biddData);});}, 100);},export function getMenusTree() {return request({url: '/xxx/ccc/ddd',method: 'get'})
}

这个写法是我项目框架的写法也可以直接使用axios大同小异,方法内部的操作是将某个字段进行转换
后端:

@RequiredArgsConstructor
@RestController
@RequestMapping("/aa/ss")
public class BiddInvestmentController {@Autowiredprivate SysBiddinveUnitService unitService;@RequestMapping("/getList")public R UnitList(){List<SysBiddinveUnit> list = unitService.getUnitList();return R.ok().put("data",list);}
}List<SysBiddinveUnit> getUnitList();/**** 查询所有数据并返回树形结构* @return*/@Overridepublic List<SysBiddinveUnit> getUnitList() {//查询所有数据List<SysBiddinveUnit> list = sysBiddinveUnitMapper.getUnitList();//建立map映射(id->index)HashMap<Integer,Integer> map = new HashMap<>();for (int index = 0; index < list.size(); index++) {Integer id = list.get(index).getId();map.put(id,index);}//处理数据for (int i = 0; i < list.size(); i++) {SysBiddinveUnit node = list.get(i);Integer pid = node.getPid();//有父级if (pid!=null){//找到pid的父级并把当前节点(node)放到父级节点的children里面Integer indexParent = map.get(pid);//获取父亲节点SysBiddinveUnit parent = list.get(indexParent);//判重if (parent.getChildren()==null){parent.setChildren(new ArrayList<>());}//向父亲节点的children添加当天nodeparent.getChildren().add(node);}}//过滤树的一级节点List<SysBiddinveUnit> collect = list.stream().filter(e -> e.getPid() == null).collect(Collectors.toList());return collect;}

 

@Data
public class SysBiddinveUnit {private Integer id;private Integer pid;private String code;private String uploadcode;private String filetype;private String filename;private String createtime;private String filestate;private String createBy;private String updateTime;private String updateBy;private String uploadname;private String mlname;private List<SysBiddinveUnit> children;}


小结

这里的业务其实很好理解,需要知道前端table需要的数据格式,然后搭建实体类,首先查出所有的数据,然后使用递归进行筛选父节点,获取id和pid进行遍历比对如果pid是null的或空的表示是顶级的也就是父级的 然后如果pid等于父级id的表示是父级的子类 然后判各重 就放到chideren里,到这里就已经快变成我们想要的数据格式了,此时需要对树进行过滤过滤好之后就可以变成我们需要的JSON了 此时放到list里返回前端即可

http://www.dtcms.com/wzjs/238192.html

相关文章:

  • 江苏国龙翔建设网站.刚刚中国出啥大事了
  • 用域名访问网站网络营销是什么?
  • 站长之家产品介绍宁波优化网站厂家
  • 最好的汽车科技网站建设中牟网络推广外包
  • 网站域名怎么备案cps推广平台有哪些
  • 诚信建设网站的作用标题优化
  • 龙岗网站设计常宁seo外包
  • 企业网站建设包含哪些内容百度关键词检测工具
  • 网站建设php培训2023年的新闻十条
  • 杭州知名的网站建设策划谷歌收录查询
  • 360免费wifi手机版seo查询工具有哪些
  • wordpress 朋友圈上海百度推广排名优化
  • 做网站的业务逻辑seo公司上海
  • 怎样注册企业邮箱专业seo网络推广
  • windows网站建设教程网店推广的作用是
  • 誉重网站建设公司罗湖区seo排名
  • 做网站 需要审核么搜索引擎优化的英文缩写是什么
  • 做网站开发钱西安网站搭建公司
  • 360搜索建站公司网络营销策略理论有哪些
  • 无锡新区规划建设环保局网站网站排名优化系统
  • 企业网站建设报价单爱站数据官网
  • 潜江人才网官网百度快照优化培训班
  • 制作动态网站的流程体验营销案例分析
  • 宾馆网站制作怎样做一个网页
  • 凡科网可以自己做网站吗打开浏览器直接进入网站
  • 新手网站设计看哪本书sem优化推广
  • 西安企业网站搭建网络销售公司怎么运作
  • 网络培训的优点包括优化seo厂家
  • 软件开发的阶段合肥网站seo费用
  • 关于网站建设方面的文章山西seo优化