1.1.0 • Published 4 years ago

js-directory-tree v1.1.0

Weekly downloads
2
License
ISC
Repository
github
Last release
4 years ago

原生js实现目录树

demo

下载

1. npm模块

$npm install js-directory-tree

模块使用

<link rel="stylesheet" href="node_modules/js-directory-tree/css/index.css">
// 或使用模块引入
import 'js-directory-tree/css/index.css';
import DirTree from 'js-directory-tree';

2. github下载相应文件

html引入css, js

<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <link rel="stylesheet" href="css/index.css">
</head>
<body>
<div id="tree"></div>
<script src="js/index.js"></script>
</body>

使用

  const DT = new DirTree({
    root: '#tree',
    data: [{
      name: 'parent',
      children: [{
        name: 'css',
        children: [{
          name: 'index.css'
        }]
      }]
    }, {
      name: 'js-directory-tree',
      children: [{
        name: 'css',
        children: [{
          name: 'index.css'
        }]
      }, {
        name: 'js',
        children: [{
          name: 'index.js'
        }]
      }, {
        name: 'index.html',
      }]
    }],
    style: {
      lineHeight: 22,
      marginLeft: 20,
      paddingLeft: 20
    },
    bindClick: function (type, name, target) {
      console.log(type, name, target)
    }
  })

选项

root

目录树绑定的根元素的选择器(最好使用唯一的id选择器)
若不唯一,选择第一元素

data

item = {
  name: String, // 目录或文件的名称
  children: [item] // 该目录有多少个子目录或文件
}
data = [item] // 根有多少个目录

style

style = {
  lineHeight: Number, // 每个目录或文件占多高
  marginLeft: Number, // directory-tree-container 的左外边距
  paddingLeft: Number // directory-tree-name 的左内边距,用于给图标让位
}

bindClick

为点击事件添加接口

// type: enum['dir', 'file']
// name: String  目录名或文件名
// target: e.target  单击事件的目标
bindClick = function (type, name, target) {
  console.log(type, name, target)
}
1.1.0

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago