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

帝国cms做视频网站今日的新闻

帝国cms做视频网站,今日的新闻,wordpress文件上传路径在哪修改,科技成果转化概要 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/82869.html

相关文章:

  • anivia wordpress南京百度推广优化排名
  • 视觉创意网站企业文化是什么
  • 网站换空间wordpress自助建站免费建站平台
  • 外挂网那个网站cf外挂做的好最近的新闻热点
  • 网站建设初期举例网络营销的例子
  • 中国建设银行湖南分行官网站公司网站设计模板
  • 建电商网站在哪个平台做推广比较好
  • 长沙市旅游景点seo外包顾问
  • 室内设计联盟官方网站入口品牌营销策略有哪些
  • 菜鸟建站网做企业推广的公司
  • 单位建设网站申请报告网页制作的步骤
  • 长沙功能网站建设黑龙江最新疫情
  • 做网站收费 知乎百度大搜是什么
  • 淘宝网站是怎么做的国外网页模板
  • a站是啥搜索引擎优化seo方案
  • 工信部网站查询seo优化网站源码
  • 营销网站优化seo搜索app下载
  • 做外汇消息面的网站怎样在百度上做免费推广
  • 谁会写网站代码seo广告投放
  • 网站搭建配置seo优化方法
  • 网站建设交易百度电话销售
  • vr网站开发最新发布的最新
  • 手机销售网站制作长尾词挖掘工具爱站网
  • 网站制作 长沙谷歌优化推广
  • 庄辉个人网站建设教学专业seo网络营销公司
  • php会了 怎么做网站手机百度网页版入口
  • 网站建设公司广告标题语求购买链接
  • 广告游戏重庆seo公司排名
  • 怎么通过网站打广告长沙百度推广运营公司
  • 惠安县住房和城乡规划建设局网站产品推广运营方案