国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

使用Vue實(shí)現(xiàn)一個(gè)樹組件的示例

瀏覽:92日期:2022-11-05 14:04:40

HTML代碼:

<!DOCTYPE html><html><head> <title>Vue Demo</title> <meta charset='utf-8' /> <meta http-equiv='X-UA-Compatible' content='IE=edge'> <meta name='viewport' content='width=device-width, initial-scale=1'> <style type='text/css'> /* span樣式 */ .treeviewitem-span { font-size: 14px; } /* 箭頭樣式 */ .treeviewitem-arrow-icon { margin-top: 3px; margin-left: 3px; margin-right: 3px; float: left; width: 0; height: 0; border-top-width: 6px; border-right-width: 0px; border-bottom-width: 6px; border-left-width: 6px; border-style: solid; border-color: transparent transparent transparent #666666; transform: rotate(0deg); } /* 90度旋轉(zhuǎn)箭頭樣式 */ .treeviewitem-arrow-icon90 { margin-top: 3px; margin-left: 3px; margin-right: 3px; float: left; width: 0; height: 0; border-top-width: 6px; border-right-width: 0px; border-bottom-width: 6px; border-left-width: 6px; border-style: solid; border-color: transparent transparent transparent #666666; transform: rotate(90deg); } /* 模板隱藏 */ template { display: none; } </style> <script type='text/javascript' src='http://m.cgvv.com.cn/bcjs/vue.js'></script> <script type='text/javascript'> </script></head><body> <!-- treeviewitem模板 --> <template id='treeviewitem'> <div> <div style='background-color:transparent; cursor:default; height:25px;'><div v-on:click='expand' style='width:16px; height:16px; float:left; background-color:transparent;'><span v-bind: v-if='isLeaf'></span></div><input type='checkbox' v-on:click='checkboxClick' v-model='self.selected' /><span v-on:click='itemClick' class='treeviewitem-span'>{{ self.name }}</span></div> <div v-if='self.expand' v-for='item in items' style='margin-left:20px;'><treeviewitem v-bind:items='item.items' v-bind:self='item'></treeviewitem> </div> </div> </template> <!-- treeview模板 --> <template id='treeview'> <div> <div v-for='item in items'><treeviewitem v-bind:items='item.items' v-bind:self='item'></treeviewitem> </div> </div> </template> <div id='app'> <!-- 使用treeview組件 --> <treeview v-bind:items='items'></treeview> <br /> <button onclick='showSelectedResult()'>勾選結(jié)果</button> </div> <script type='text/javascript'> //定義treeviewitem組件 Vue.component(’treeviewitem’, { props: [’items’, ’self’], template: ’#treeviewitem’, methods: {itemClick: function (d) { alert('您單擊了節(jié)點(diǎn):' + this.self.name);},checkboxClick: function (e) { var checkChild; checkChild = function (items, checked) { for (var i = 0; i < items.length; i++) { var item = items[i]; item.selected = checked; if (item.items) {checkChild(item.items, checked) } } }; if (e.target.checked) { checkChild(this.items, true); } else { checkChild(this.items, false); }},expand: function (e) { if (this.self.expand) { this.self.expand = false; } else { this.self.expand = true; }} }, computed: {isLeaf: function () { if (this.items && this.items.length > 0) { return true; } return false;} } }); //定義treeview組件 Vue.component(’treeview’, { props: [’items’], template: ’#treeview’ }); //定義vm var vm = new Vue({ el: ’#app’, methods: {/** * @description 獲取勾選結(jié)果 */getSelected: function (items) { if (!items) items = this.items; var result = []; for (var i = 0; i < items.length; i++) { var item = items[i]; if (item.selected) { result.push(item.name); } if (item.items) { var childSelected = this.getSelected(item.items); for (var k = 0; k < childSelected.length; k++) {result.push(childSelected[k]); } } } return result;} }, data: {items: [ { name: ’條目1’, expand: true, selected: false, items: [ {name: ’條目11’,expand: true,selected: false,items: [ { name: ’條目111’, expand: true, selected: true, }] }, {name: ’條目12’,expand: false,selected: false,items: [ { name: ’條目121’, expand: true, selected: false, }, { name: ’條目122’, expand: true, selected: false, items: [ {name: ’條目1221’,expand: true,selected: false }, {name: ’條目1222’,expand: true,selected: false } ] }] }, {name: ’條目13’,expand: true,selected: false } ] }, { name: ’條目2’, expand: true, selected: false }, { name: ’條目3’, expand: true, selected: false, items: [ {name: '條目31',expand: true,selected: false } ] }] } }) //顯示勾選結(jié)果 function showSelectedResult() { var selected = vm.getSelected(); alert('您勾選了:' + selected.join(’, ’)); } </script></body></html>

效果圖:

使用Vue實(shí)現(xiàn)一個(gè)樹組件的示例

以上就是使用Vue實(shí)現(xiàn)一個(gè)樹組件的示例的詳細(xì)內(nèi)容,更多關(guān)于vue 實(shí)現(xiàn)樹組件的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 曰批美女免费视频播放 | 三级三级三级网站网址 | 国产一区不卡 | 成人性动漫高清免费观看网址 | 亚洲国产精品一区二区久 | 免费观看成人www精品视频在线 | 国产伦精品一区二区三区免费 | 日本丶国产丶欧美色综合 | 久草免费在线观看视频 | 日韩欧美在线视频一区二区 | 亚洲九九视频 | 在线欧美一级毛片免费观看 | 国产成人爱片免费观看视频 | 欧美日本一道高清二区三区 | 国产美女一级视频 | 91av国产在线| 久久这里只有精品免费播放 | 免费99热在线观看 | 中文在线观看视频 | 久草视频精品在线 | 国产在播放一区 | 91免费永久国产在线观看 | 国内真实愉拍系列情侣自拍 | 午夜国产高清精品一区免费 | 国产成人 免费观看 | 中国胖女人一级毛片aaaaa | 91精品手机国产在线能 | 亚洲精品资源网在线观看 | 高清波多野结衣一区二区三区 | 一区二区三区欧美在线 | 国产a级午夜毛片 | 亚洲黄色官网 | 黄色免费三级 | 国产一级做a爱片久久毛片a | 毛片特黄| 成人毛片高清视频观看 | 欧美videosex性欧美成人 | 亚洲国产精品线观看不卡 | 久久精品视频一区二区三区 | 毛片免费看看 | 亚洲干综合 |