Giter Site home page Giter Site logo

ztree-for-react's Introduction

ztree-for-react

Build Status DUB

对jQuery zTreeV3.x 插件做react封装

install

npm install ztree-for-react --save-dev

useage

import React,{Component} from 'react';
import ReactZtree from 'ztree-for-react';
const nodes= [
	{name: "父节点1",
    id:0,
     children: [
		{name: "子节点1",
    id:1},
		{name: "子节点2",id:2,children:[
      {name:"子节点3",id:3}
    ]}
	]}
];
export default class App extends Component {
  render() {
    return (
      <div>
          <ReactZtree nodes={nodes} events={this.getEvents()} check={check} ref="ztree" treeName={'tree1'}/>
          <ReactZtree nodes={nodes} events={this.getEvents()} check={check} ref="ztree"/>
      </div>
    );
  }
  getEvents(){
    return {
      'onClick':(event,treeId,treeNode)=>{this.handleClick(event,treeId,treeNode)},
      'onCheck':(event,treeId,treeNode)=>{this.handleClick(event,treeId,treeNode)}
    }
  }
  handleClick(event,treeId,treeNode){
    console.log(treeNode);
    console.log(this.refs.ztree.ztreeObj.getCheckedNodes());
  }
  handleCheck(event,treeId,treeNode){
    console.log(treeNode);
  }
  componentDidMount(){
    //you can add treeName prop to set this treeObj to the window 
    console.log(window.ztree);
    /**
     * 
     * {tree1: {}}
        tree1
        :
        {setting: {}, addNodes: ƒ, cancelSelectedNode: ƒ, destroy: ƒ, expandAll: ƒ,}
        __proto__
        :
        Object
     * /
  }
}

quick start

npm install

npm start

open http://127.0.0.1:3000 in you browser

component props

  • treeName (string) the global attribute name
  • nodes (required, object) the zTreee Nodes data
  • events (object) the zTree Nodes event(the zTree callback setting)
  • async (object) to load zTree Nodes as async(the zTree async setting)
  • check (object) the zTree check setting(the zTree check setting)
  • data (object) the zTree data setting
  • edit (object) the zTree eidt setting
  • view (object) the zTree view setting

please go jQuery zTree to get more infomations!

FAQ

1. jQuery is not defined?

Please install expose-loader,and add some config to your webpack config 😄

module: {
    loaders: [{
      test:require.resolve('jquery'),
      loader:'expose?jQuery!expose?$'
    }]
  }

LICENSE

MIT

ztree-for-react's People

Contributors

arixse avatar calvinvt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

ztree-for-react's Issues

preact:ReferenceError: jQuery is not defined

ReferenceError: jQuery is not defined
at eval (webpack-internal:///../node_modules/ztree/js/jquery.ztree.all.js:1850)
at Object.../node_modules/ztree/js/jquery.ztree.all.js (:8080/route-home.chunk.072b0.js:145)
at webpack_require (bundle.js:689)
at fn (bundle.js:110)
at eval (webpack-internal:///../node_modules/ztree-for-react/lib/ztree-for-react.js:25)
at Object.../node_modules/ztree-for-react/lib/ztree-for-react.js (:8080/route-home.chunk.072b0.js:138)
at webpack_require (bundle.js:689)
at fn (bundle.js:110)
at eval (eval at ../../../.nvm/versions/node/v7.7.4/lib/node_modules/preact-cli/node_modules/babel-loader/lib/index.js?{"babelrc":false,"presets":[["/Users/qk/.nvm/versions/node/v7.7.4/lib/node_modules/preact-cli/node_modules/babel-preset-env/lib/index.js",{"loose":true,"uglify":true,"modules":false,"targets":{"browsers":["> 1%","last 2 versions","IE >= 9"]},"exclude":["transform-regenerator","transform-es2015-typeof-symbol"]}],"/Users/qk/.nvm/versions/node/v7.7.4/lib/node_modules/preact-cli/node_modules/babel-preset-stage-1/lib/index.js"],"plugins":["/Users/qk/.nvm/versions/node/v7.7.4/lib/node_modules/preact-cli/node_modules/babel-plugin-transform-object-assign/lib/index.js","/Users/qk/.nvm/versions/node/v7.7.4/lib/node_modules/preact-cli/node_modules/babel-plugin-transform-decorators-legacy/lib/index.js","/Users/qk/.nvm/versions/node/v7.7.4/lib/node_modules/preact-cli/node_modules/babel-plugin-transform-react-constant-elements/lib/index.js","/Users/qk/.nvm/versions/node/v7.7.4/lib/node_modules/preact-cli/node_modules/babel-plugin-transform-react-remove-prop-types/lib/index.js",["/Users/qk/.nvm/versions/node/v7.7.4/lib/node_modules/preact-cli/node_modules/babel-plugin-transform-react-jsx/lib/index.js",{"pragma":"h"}],["/Users/qk/.nvm/versions/node/v7.7.4/lib/node_modules/preact-cli/node_modules/babel-plugin-jsx-pragmatic/jsx-pragmatic.js",{"module":"preact","export":"h","import":"h"}]]}!./routes/home/index.js (:8080/route-home.chunk.072b0.js:7), :7:74)
at Object.../../../.nvm/versions/node/v7.7.4/lib/node_modules/preact-cli/node_modules/babel-loader/lib/index.js?{"babelrc":false,"presets":[["/Users/qk/.nvm/versions/node/v7.7.4/lib/node_modules/preact-cli/node_modules/babel-preset-env/lib/index.js",{"loose":true,"uglify":true,"modules":false,"targets":{"browsers":["> 1%","last 2 versions","IE >= 9"]},"exclude":["transform-regenerator","transform-es2015-typeof-symbol"]}],"/Users/qk/.nvm/versions/node/v7.7.4/lib/node_modules/preact-cli/node_modules/babel-preset-stage-1/lib/index.js"],"plugins":["/Users/qk/.nvm/versions/node/v7.7.4/lib/node_modules/preact-cli/node_modules/babel-plugin-transform-object-assign/lib/index.js","/Users/qk/.nvm/versions/node/v7.7.4/lib/node_modules/preact-cli/node_modules/babel-plugin-transform-decorators-legacy/lib/index.js","/Users/qk/.nvm/versions/node/v7.7.4/lib/node_modules/preact-cli/node_modules/babel-plugin-transform-react-constant-elements/lib/index.js","/Users/qk/.nvm/versions/node/v7.7.4/lib/node_modules/preact-cli/node_modules/babel-plugin-transform-react-remove-prop-types/lib/index.js",["/Users/qk/.nvm/versions/node/v7.7.4/lib/node_modules/preact-cli/node_modules/babel-plugin-transform-react-jsx/lib/index.js",{"pragma":"h"}],["/Users/qk/.nvm/versions/node/v7.7.4/lib/node_modules/preact-cli/node_modules/babel-plugin-jsx-pragmatic/jsx-pragmatic.js",{"module":"preact","export":"h","import":"h"}]]}!./routes/home/index.js (:8080/route-home.chunk.072b0.js:7)
webpack_require.oe @ bundle.js:784

ztree-for-react组件移除时报错 Uncaught TypeError: this.ztreeObj.destory is not a function

你好,我在使用ztree-for-react时发现在移除组件时会报错:ztree-for-react组件移除时报错Uncaught TypeError: this.ztreeObj.destory is not a function
at eval (eval at componentWillUnmount (ztree-for-react.js:51), :1:15)
控制台信息:
this.ztreeObj.destory();
VM4502:1 Uncaught TypeError: this.ztreeObj.destory is not a function
at eval (eval at componentWillUnmount (ztree-for-react.js:51), :1:15).......
此时控制台测试执行时发现expandAll()和getNodes()不会报错,如下
this.ztreeObj.expandAll()
false
this.ztreeObj.getNodes();
[{…}]
然后查看this.ztreeObj发现里面也是有destory的

项目安装了expose-loader和jquery并且在webpack.config.js中做了配置还是报错:jQuery is not defined

使用webpack2.x,安装了"jquery": "^3.3.1"和"expose-loader": "^0.7.5",在webpack.config.js中做了相关配置如下,module: {
loaders: [
{
test: /.js?$/,
exclude: /(node_modules)/,
loader: 'babel-loader',
query: {
presets: ['react', 'es2015'],
plugins: ['react-html-attrs'], //添加组件的插件配置
}
},
{
// 得到jquery模块的绝对路径
test: require.resolve('jquery'),
// 将jquery绑定为window.jQuery 和 window.$
loader: 'expose-loader?jQuery!expose-loader?$'
}

]

},

以上是我已做过的所有操作,看起来似乎没有什么问题了但是仍然报错jQuery没有定义

jQuery is not defined

npm install ztree-for-react --save-dev 后,控制台报错 jQuery is not defined

Element type is invalid

我用的ant desing pro,安装后也报了jQuery找不到的错误。
另外我在页面使用import报下面的错:

Element type is invalid: expected a string (for built-in components) or a class/function 
(for composite components) but got: undefined. You likely forgot to export your component 
from the file it's defined in, or you might have mixed up default and named imports.

default关键字是不是冲突了?

rename the node

I tried to rename the node,but failed.I need your help very much,thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.