大致思路:树形视图使用vue的官方案例代码,java负责封装数据,可以按照vue官方案例的数据结构进行封装。有两点需要注意:1。官方案例的数据结构是一个对象包含一个集合,而不是一个集合对象;2.递归算法。
关于代码:
前端:htmljs
lthtmlgt
ltheadgt
ltmetacharsetutf-8gt
lttitlegtlt/titlegt
ltscript@2.6.9/dist/vue.jsgtlt/scriptgt
lt!-风格介绍-gt
ltlinkrelstylesheet
lt!-介绍组件库-gt
ltscript
ltscript
ltscriptsrc${ctx}/core-plugins/ew/depend/jquery/jquery.min.jstypetext/javascriptgtlt/scriptgt
ltstyl:门洛,康萨拉,等宽
color:#444
}
。项目{
cursor:指针
}
。粗体{
font-w:大胆
}
ul{
padding-l:1:1.5毫米
list-styl:圆点
}
lt/stylegt
ltscripttyp:class{bold:是文件夹}@clicktoggle@dblclickmak:}}]lt/spangt
lt/divgt
ltulv-showisopenv-ifisfoldergt
lttree-项目
classitem
v-for(child,ind:k:itemchild
@make-folder$emit(make-folder,$event)
@add-item$emit(add-item,$event)
gtlt/树项目gt
ltliclassadd@click$emit(add-item,item)gtlt/ligt
lt/ulgt
lt/ligt
lt/scriptgt
lt/headgt
ltbodygt
ltdividdemogt
ltulgt
lttree-itemclassit:itemtreedata@make-foldermakefolder@add-itemadditemgtlt/tree-itemgt
lt/ulgt
lt/divgt
lt/bodygt
lt/htmlgt
ltscriptgt
(树项目,{
t:#项目-模板,
props:{
it:物体
},
data:函数(){
返回{
isop:假
}
},
comput:{
isfold:函数(){
返回放大器
}
},
m:{
toggl:函数(){
if(){
!
}
},
mak:函数(){
如果(!){
这个。$:#演示,
data:{
tr:{}
},
m:{
mak:函数(项目){
(项目,ch孩子,[])
(项目)
},
addit:函数(项目){
({
nam:新东西
})
},
searchdata:function(){
调试器
(menurolelimitblh_)
。然后(响应gt(
))
。catch(errorgtconsole.log(错误))
}
},
已创建(){
()
},
})
lt/scriptgt
背景:javamysql,共有三种方法,分别是:1。获取请求2获取所有菜单的父子关系3递归菜单。
/**
*purpos:菜单列表页面。
*@作者jaxwan
*@param请求
*@returnizrarresponse
*/
公共izrarresponse搜索菜单(izrarrequestreq){
izrarresponseresnewzrarresponse()
字符串页面类型(页面类型)
if((页面类型)){
listltewtreevogtewtreevos(selectallmenutree)
listltmapltstring,objectgtgt菜单(ewtreevos)
mapltstring,objectgt映射新的hashmapltstring,objectgt()
地图.上传(id
基础:线性表、链表、栈和队列排序:快速排序、堆排序、归并排序、hill排序、插入排序、选择性排序二叉树:前序、中间排序、后序遍历、层次遍历,包括递归算法和非递归算法、霍夫曼编码二叉树与树和森林的转换、穿树图算法:深度优先遍历算法、广度优先遍历算法。