成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

vue ElementUI實現異步加載樹

瀏覽:14日期:2022-09-29 08:19:49

本文實例為大家分享了vue ElementUI實現異步加載樹的具體代碼,供大家參考,具體內容如下

路由文件修改

import List from ’@/components/list.vue’import Add from ’@/components/add.vue’import Tree from ’@/components/tree.vue’import AsynTree from ’@/components/asyntree.vue’export default{ routes:[{path:'/list',component:List},{path:'/add',component:Add},{path:'/add/:id',component:Add},{path:'/tree',component:Tree},{path:'/asyntree',component:AsynTree} ]}

首頁app.vue

<template> <div id='app'> <router-link to='/add'>添加</router-link>&nbsp;&nbsp; <router-link to='/list'>列表</router-link>&nbsp;&nbsp; <router-link to='/tree'>樹結構</router-link>&nbsp;&nbsp; <router-link to='/asyntree'>異步樹結構</router-link>&nbsp;&nbsp; <router-view></router-view> </div></template><script>import List from ’./components/list.vue’export default { name: ’app’, components: { List }}</script><style>#app { font-family: ’Avenir’, Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-align: center; color: #2c3e50; margin-top: 60px;}</style>

異步加載樹頁面

<template><el-container> <el-aside width='200px'> <el-tree ref='tree' :data='data' lazy show-checkbox node-key='id' check-strictly :load='loadnode' :props='defaultProps' @node-click='nodeclick'> </el-tree> </el-aside> <el-main> <el-form :model='typeinfo' class='demo-form-inline'> <el-form-item label='ID'><el-input v-model='typeinfo.id' readonly></el-input> </el-form-item> <el-form-item label='分類名稱'><el-input v-model='typeinfo.label' placeholder='分類名稱'></el-input> </el-form-item> <el-form-item label='序號'><el-input v-model='typeinfo.seqno' placeholder='序號'></el-input> </el-form-item> <el-form-item label='父ID'><el-input v-model='typeinfo.pid' readonly></el-input> </el-form-item> <el-form-item><el-button type='primary' @click='dosave'>保存</el-button><el-button type='primary' @click='dochildsave'>添加節點</el-button> </el-form-item> </el-form> </el-main></el-container></template><script>import axios from ’axios’export default { data() {return { data:[],//樹對象數據模型 defaultProps: {//樹對象屬性對應關系children: ’children’,label: ’label’ }, typeinfo: {//商品分類實體對象id:’’,pid:’’,label: ’’,seqno: ’’ }} }, methods: {loadnode(node,resolve){ //如果展開第一級節點,從后臺加載一級節點列表 if(node.level==0) {this.loadfirstnode(resolve); } //如果展開其他級節點,動態從后臺加載下一級節點列表 if(node.level>=1) {this.loadchildnode(node,resolve); }},//加載第一級節點loadfirstnode(resolve){ axios.get(’http://localhost:6060/loadtype’).then(function(resp){ resolve(resp.data);})},//刷新樹組件refreshtree(){ var _this = this; axios.get(’http://localhost:6060/loadtype’).then(function(resp){ _this.data = resp.data;})},//加載節點的子節點集合loadchildnode(node,resolve){ axios.get(’http://localhost:6060/loadtypechild?pid=’+node.data.id).then(function(resp){ resolve(resp.data);})},//點擊節點上觸發的事件,傳遞三個參數,數據對象使用第一個參數nodeclick(data,dataObj,self){ //alert(data.label+',id='+data.id); this.typeinfo.id=data.id; this.typeinfo.pid=data.pid; this.typeinfo.label=data.label; this.typeinfo.seqno=data.seqno;},//保存分類方法dosave(){ var _this = this; axios.post(’http://localhost:6060/savetype’,this.typeinfo).then(function(resp){ if(resp.data)_this.refreshtree();})},//保存子分類方法dochildsave(){ //判斷左側樹組件是否選擇了一個節點 var cnt=this.$refs[’tree’].getCheckedNodes().length; if(cnt!=1) {this.$message(’必須選擇唯一父節點’);return; } //通過this.$refs[’tree’]獲取樹對象,其中tree是樹組件的ref屬性 var dataObj = this.$refs[’tree’].getCheckedNodes()[0];this.typeinfo.id=’’; this.typeinfo.pid=dataObj.id; var _this = this; axios.post(’http://localhost:6060/savetype’,this.typeinfo).then(function(resp){ if(resp.data)_this.refreshtree();})} }}</script>

后臺Controller

@RequestMapping('/loadtype') @ResponseBody public List<TypeInfo> getTypeJson() { List<TypeInfo> rtn = getFirstNode(); return rtn; } @RequestMapping('/loadtypechild') @ResponseBody public List<TypeInfo> getTypeByPid(Integer pid) { System.out.println('pid==='+pid); List<TypeInfo> rtn = addsrv.getTypeList(pid); return rtn; } private List<TypeInfo> getFirstNode() { TypeInfo root = addsrv.getRootType(); List<TypeInfo> firstList = addsrv.getTypeList(root.getId()); for(TypeInfo ti:firstList) recurseNode(ti); return firstList; } private void recurseNode(TypeInfo ti) { List<TypeInfo> children = addsrv.getTypeList(ti.getId()); System.out.println('ti.id'+ti.getId()+',children='+children); if(children==null || children.size()==0) return; ti.setChildren(children); for(TypeInfo chd:children) { recurseNode(chd); } } @RequestMapping('/savetype') @ResponseBody public Boolean savetype(@RequestBody TypeInfo ti) { try { Integer id = ti.getId(); if(id != null) addsrv.updateType(ti); else { addsrv.saveType(ti); } return true; } catch (Exception e) { return false; } }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产精品美女视频| 亚洲精品欧洲| 99免费精品视频| 一区二区日本视频| 2020国产精品自拍| 青青草97国产精品免费观看| 在线播放不卡| 欧美日韩国产不卡| 亚洲一区二区三区精品在线| 欧美激情1区2区| 欧美精品一级二级三级| 亚洲成人免费电影| 一区国产精品| 久久久久久久电影| 国产一区二区三区免费观看| 麻豆精品网站| 中文字幕电影一区| 成人免费毛片嘿嘿连载视频| 欧洲一区二区三区免费视频| 亚洲乱码国产乱码精品精的特点| 波多野结衣精品在线| 欧美日韩小视频| 日韩国产精品91| 影音先锋久久精品| 久久精品夜色噜噜亚洲aⅴ| 国产毛片一区二区| 色久优优欧美色久优优| 亚洲综合网站在线观看| 国产自产精品| 久久久五月婷婷| 国产一区二区不卡老阿姨| 色婷婷久久久久swag精品| 亚洲一区二区中文在线| 99国产精品| 综合激情成人伊人| 欧美成人一区二免费视频软件| 日韩欧美一区中文| 国产一区视频网站| 欧美性受xxxx黑人xyx性爽| 亚洲国产一区二区a毛片| 日韩亚洲国产欧美| 亚洲人成亚洲人成在线观看图片| 黑丝一区二区三区| 国产女人18水真多18精品一级做| 成人免费观看视频| 精品欧美乱码久久久久久| 国产精品123区| 91精品国产综合久久精品app| 免费在线看成人av| 精品视频一区二区三区免费| 麻豆专区一区二区三区四区五区| 久久久久.com| 亚洲成人黄色小说| 中文精品视频| 亚洲高清免费一级二级三级| 亚洲综合精品四区| 亚洲成在人线免费| 色欧美片视频在线观看| 日韩高清不卡在线| 久久综合中文| 久久se精品一区二区| 7777精品伊人久久久大香线蕉 | 国产精品入口麻豆九色| 国产一区二区中文| 国产亚洲欧美日韩在线一区| 成人理论电影网| 久久久久久久久岛国免费| 欧美日韩成人一区二区三区| 1024成人网色www| 亚洲久久视频| 亚洲一区在线看| 欧美亚洲视频| 日本aⅴ亚洲精品中文乱码| 欧美性视频一区二区三区| 精品一区免费av| 91精品国产品国语在线不卡| 国产在线精品一区二区夜色| 91麻豆精品国产综合久久久久久| 国产精品亚洲专一区二区三区 | 久久九九久久九九| 欧美精品啪啪| 夜夜爽夜夜爽精品视频| 色伊人久久综合中文字幕| 久久精品国产亚洲a| 欧美一区二区黄| 91社区在线播放| 日韩美女久久久| 媚黑女一区二区| 精品一区二区免费在线观看| 日韩精品一区二区三区在线观看 | 91性感美女视频| 亚洲视频网在线直播| 久久国产精品久久w女人spa| 蜜桃视频在线观看一区二区| 777亚洲妇女| 欧美一区二区三区四区在线观看地址| 国产精品污污网站在线观看| 亚洲黄色三级| 免费成人结看片| 91精品国产综合久久精品性色| 色综合天天综合网国产成人综合天| 中文字幕一区二区三| 欧美一级专区| 蜜桃91丨九色丨蝌蚪91桃色| 91精品国产综合久久蜜臀| 欧美极品一区二区三区| 一区二区三区日韩欧美| 欧美揉bbbbb揉bbbbb| 欧美一区二区三区免费看| 亚洲综合网站在线观看| 91麻豆精品久久久久蜜臀| 欧美日韩视频一区二区三区| 亚洲成a人v欧美综合天堂下载 | 国产精品亚洲产品| 精品午夜久久福利影院 | 色欧美日韩亚洲| av成人老司机| 亚洲午夜电影在线观看| 6080午夜不卡| 亚洲成人资源| 精品亚洲porn| 中文字幕在线不卡| 欧美网站大全在线观看| 99国产欧美久久久精品| 亚洲自拍偷拍九九九| 欧美日本国产视频| 欧美三级小说| 免费视频最近日韩| 国产亲近乱来精品视频| 欧美亚洲在线| 日本中文在线一区| 精品国产免费一区二区三区香蕉| 国产欧美日韩一区二区三区| 国产美女精品在线| 亚洲精品自拍动漫在线| 91精品国产免费| 一区二区三区三区在线| 国产精品亚洲一区二区三区妖精| 亚洲欧美怡红院| 欧美性高清videossexo| 成人网男人的天堂| 亚洲情趣在线观看| 欧美一区二区三区啪啪| 国产精品久久久久毛片大屁完整版| 国产精品自拍一区| 亚洲视频1区2区| 在线播放欧美女士性生活| 亚洲二区在线| 国产精品中文字幕日韩精品| 亚洲精品视频在线看| 精品久久人人做人人爱| 色婷婷精品久久二区二区蜜臂av | 亚洲综合日本| 99国产精品国产精品久久| 亚洲国产美女搞黄色| 久久久久久久久蜜桃| 欧美天天综合网| 日韩视频在线播放| 99久久99久久久精品齐齐| 日韩高清不卡一区| 亚洲色图另类专区| 欧美tickling网站挠脚心| 色久优优欧美色久优优| 狠色狠色综合久久| 国产精品资源在线看| 一区二区三区电影在线播| 精品国产乱码久久久久久老虎| 色婷婷av一区二区三区之一色屋| 午夜久久资源| 日本伊人色综合网| 亚洲三级电影网站| 亚洲精品一线二线三线| 欧美日韩一区二区欧美激情 | 美脚の诱脚舐め脚责91 | 3d动漫精品啪啪1区2区免费| 欧美日韩国产综合一区二区 | 亚洲国产精品123| 伊人久久大香线蕉综合热线| 久久99热99| 捆绑紧缚一区二区三区视频| 日韩精品一区二区在线观看| 色婷婷综合久久| 国产亚洲欧美一区二区| 欧美日韩调教| 成人开心网精品视频| 久久99精品久久久久久| 亚洲国产综合色| 日韩美女精品在线| 欧美激情一区三区| 久久综合久久99| 日韩欧美视频一区| 欧美性xxxxxxxx| 亚洲成人av在线电影| 亚洲精品美国一| 亚洲精品欧美综合四区| 丝袜亚洲另类欧美| 黄页视频在线91| 99精品欧美一区二区三区综合在线| 97久久超碰精品国产| 国产精品hd|