真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vue2.0基于vue-cli+element-ui制作樹形treeTable

該組件基于技術(shù)棧,主要涉及vue-cli生成的webpack項(xiàng)目腳手架,在此腳手架項(xiàng)目基礎(chǔ)上完成的,整合了element-ui開源vue的UI項(xiàng)目

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、做網(wǎng)站、旺蒼網(wǎng)絡(luò)推廣、小程序開發(fā)、旺蒼網(wǎng)絡(luò)營銷、旺蒼企業(yè)策劃、旺蒼品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供旺蒼建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com

1.vue-cli的安裝使用

npm install -g vue-cli

全局安裝vue-cli之后,使用該腳手架的相關(guān)命令,可快速生成一個(gè)比較規(guī)范的vue項(xiàng)目結(jié)構(gòu)

vue init  

例子

vue init webpack treeTable

這樣一個(gè)快速的項(xiàng)目結(jié)構(gòu)生成,如下所示,中間一路回車就可以了,主要是設(shè)置了是否支持eslint等等

vue2.0基于vue-cli+element-ui制作樹形treeTable

2.整合element-ui

cd treeTable

進(jìn)入剛剛生成的項(xiàng)目目錄中,安裝element-ui

npm i element-ui -S

在main.js中,

import ElementUI from 'element-ui'
import 'element-ui/lib/theme-default/index.css'

Vue.use(ElementUI)

整合就可以了,具體element-ui更多的使用和操作,可以去官網(wǎng)查看 http://element.eleme.io/#/zh-CN/component/quickstart
我這里主要是利用他的table組件來制作一個(gè)樹形結(jié)構(gòu)的table。

vue2.0基于vue-cli+element-ui制作樹形treeTable

3.樹形table組件制作

在src目錄的components目錄中,

vue2.0基于vue-cli+element-ui制作樹形treeTable

其中utils下面提供一些需要用的工具類

vue目錄下面是組件的源碼

index.js是外包入口

相關(guān)代碼

dataTranslate.js主要是提供了把數(shù)組數(shù)據(jù)轉(zhuǎn)換成樹形結(jié)構(gòu)的數(shù)據(jù),并且進(jìn)行相關(guān)屬性的添加

/*
* @Author: sunlandong
* @Date:   2017-03-11 12:06:49
* @Last Modified by:   sunlandong
* @Last Modified time: 2017-03-11 16:30:03
*/
 
 
import Vue from 'vue'
function DataTransfer (data) {
  if (!(this instanceof DataTransfer)) {
    return new DataTransfer(data, null, null)
  }
}
 
 
DataTransfer.treeToArray = function (data, parent, level, expandedAll) {
  let tmp = []
  Array.from(data).forEach(function (record) {
    if (record._expanded === undefined) {
      Vue.set(record, '_expanded', expandedAll)
    }
    if (parent) {
      Vue.set(record, '_parent', parent)
    }
    let _level = 0
    if (level !== undefined && level !== null) {
      _level = level + 1
    }
    Vue.set(record, '_level', _level)
    tmp.push(record)
    if (record.children && record.children.length > 0) {
      let children = DataTransfer.treeToArray(record.children, record, _level, expandedAll)
      tmp = tmp.concat(children)
    }
  })
  return tmp
}
 
 
export default DataTransfer

utils/index.js

/*
* @Author: sunlandong
* @Date:   2017-03-11 12:06:55
* @Last Modified by:   sunlandong
* @Last Modified time: 2017-03-11 16:36:56
*/
import MSDataTransfer from './dataTranslate.js'
export default {
	MSDataTransfer
}

TreeGrid.vue是樹形table組件的源碼



index.js

import TreeGrid from './vue/TreeGrid.vue'
 module.exports = {
 TreeGrid
}

使用


 

 

效果圖

vue2.0基于vue-cli+element-ui制作樹形treeTable

https://github.com/sunlandong/treeTable   github上下載源碼

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。


網(wǎng)站名稱:vue2.0基于vue-cli+element-ui制作樹形treeTable
網(wǎng)頁地址:http://weahome.cn/article/ieiesg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部