日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

vue ElementUI實現異步加載樹

瀏覽:51日期: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
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
蜜桃精品在线| 日韩高清中文字幕一区二区| 激情久久五月| 亚洲精品一级二级| 亚洲第一区色| 亚洲欧美日韩国产一区| 黄色在线一区| 蜜桃视频在线观看一区| 免费国产自线拍一欧美视频| 91久久黄色| 一区二区三区四区在线观看国产日韩| 六月丁香综合| 日本电影久久久| 国产日韩1区| 精品国产欧美日韩| 日韩精品不卡一区二区| 欧美日韩国产免费观看视频| 99在线精品免费视频九九视| 在线观看一区| 国产精品激情电影| av在线资源| 在线视频精品| 日韩精品第一| 国产精品nxnn| 日韩欧美一区二区三区在线观看| 日韩在线观看不卡| 视频一区免费在线观看| 国产视频一区二| 欧美日韩一区二区综合| 91成人精品在线| 色综合视频一区二区三区日韩 | 蜜桃免费网站一区二区三区 | 欧美在线资源| 亚洲视频综合| 中文字幕亚洲在线观看| 国产精品色在线网站| 欧美xxxx中国| 日韩在线a电影| 久久av国产紧身裤| 成人自拍av| 婷婷视频一区二区三区| 国产成人精品一区二区免费看京 | 欧美专区一区二区三区| 88久久精品| 日韩中文影院| 日本一区免费网站| 9999国产精品| 一区二区国产精品| 福利片在线一区二区| 中文一区在线| 国产精品mm| 亚洲一区免费| 成人在线超碰| 婷婷综合成人| 久久精品亚洲欧美日韩精品中文字幕| 婷婷五月色综合香五月| 日韩综合一区| 一级欧美视频| 亚洲精品永久免费视频| 亚洲精品伦理| 久久久久亚洲| 日韩一区二区三区在线看| 超碰超碰人人人人精品| 日本在线一区二区三区| 日韩三级久久| 国产日韩欧美一区二区三区在线观看| 久久一区视频| 亚洲人成在线网站| 99久久亚洲精品| 中文一区一区三区免费在线观 | 日本午夜精品| 久久精品欧洲| 亚洲欧美日本国产| 亚洲午夜在线| 国产精品欧美日韩一区| 欧美专区18| 亚洲精品国产嫩草在线观看| 国产区精品区| 免费在线观看精品| 久久理论电影| 欧美丰满日韩| 国产精品一区高清| 蜜桃av一区二区在线观看| 99久久激情| 国产一区二区三区久久| 视频一区视频二区中文| 136国产福利精品导航网址| 精品视频在线观看网站| 日本va欧美va精品发布| 日韩一区精品字幕| 久久国产影院| 高清久久一区| 欧美国产极品| 91欧美极品| 日韩一区二区三区四区五区| 美女精品网站| 亚洲欧洲另类| 91精品国产自产在线观看永久∴| 久久精品国产99国产精品| 欧美日韩精品一区二区三区视频 | 高清精品久久| 深夜福利亚洲| 91一区二区三区四区| 亚洲视频国产精品| 日本精品影院| 欧美激情精品| 欧美一区久久| 91久久视频| 欧洲av一区二区| 偷拍精品精品一区二区三区| 久久精品72免费观看| 激情自拍一区| 久久久久午夜电影| 色婷婷狠狠五月综合天色拍| 精品九九久久| 免费在线播放第一区高清av| 国产精品亚洲四区在线观看 | 1024精品久久久久久久久| 99久久久国产精品美女| 欧美日韩精品免费观看视完整| av免费不卡国产观看| 国产日本久久| 国产精区一区二区| 欧美激情福利| 国产不卡精品| 日韩在线短视频| 91精品在线观看国产| 久久精品中文| 韩日一区二区三区| 国产精品88久久久久久| 免费久久久久久久久| 国产亚洲综合精品| 蜜桃视频一区二区三区| 日韩国产欧美在线播放| 日韩av成人高清| 国产精品成人3p一区二区三区| 国产精品porn| 国产精品久久久久久久免费观看| 国产精选在线| 亚洲国内欧美| 男女男精品视频网| 国产亚洲久久| 国产一区二区三区黄网站 | 石原莉奈一区二区三区在线观看 | 亚洲va中文在线播放免费| 婷婷亚洲综合| av中文字幕在线观看第一页| 欧美日韩水蜜桃| 亚洲字幕久久| 亚洲黄色中文字幕| 色8久久久久| 最新国产拍偷乱拍精品| 国产精品99在线观看| 在线精品一区| 91成人小视频| 欧美精品日日操| 尹人成人综合网| 亚洲日产国产精品| 欧美精品二区| 亚洲91视频| 午夜性色一区二区三区免费视频| 欧美精品福利| 欧美激情视频一区二区三区在线播放| 色婷婷综合网| 亚洲免费激情| 国产精品一区二区三区av| 色一区二区三区四区| 最新亚洲激情| 国产乱子精品一区二区在线观看| 日韩av专区| 日韩精品一卡二卡三卡四卡无卡| 国产极品模特精品一二| 精品免费av在线| 日本亚洲最大的色成网站www| 成人台湾亚洲精品一区二区| 国产亚洲一级| 精品国产精品久久一区免费式 | 电影91久久久| 亚洲欧美日韩国产综合精品二区| 欧美在线不卡| 久久激情一区| 91成人小视频| 欧美搞黄网站| 国产伦精品一区二区三区在线播放| 久久精品中文| 国产精品嫩模av在线| 国产专区一区| 国产精品多人| 中文精品视频| 国产 日韩 欧美 综合 一区| 一区二区91| 超碰99在线| 91成人在线| 黄色免费成人| 国产aⅴ精品一区二区三区久久 | 一区二区电影在线观看| 日韩高清一区在线| 综合一区av| 日韩国产一二三区| 久久久久伊人|