这次给大家带来vue.js树形控件使用详解,vue.js树形控件使用的注意事项有哪些,下面就是实战案例,一起来看一下。
实现原理
修改了element-ui源码,把源码里面的tree模块提取出来
然后修改element自带checkbox等组件为iview的checkbox,并且兼容方法
最后修改element样式,改为iview风格,自己也添加了一些样式
新的tree组件可以说是element的逻辑,iview的风格
<template>
<p
@click.stop="handleclick"
v-show="node.visible">
<p class="chu-tree-nodecontent"
:style="{ 'padding-left': (node.level - 1) * tree.indent + 'px' }">
<span :class="arrowclasses" @click.stop="handleexpandiconclick">
<icon v-if="!node.isleaf" type="arrow-right-b"></icon>
</span>
<checkbox
v-if="showcheckbox"
:value="node.checked"
:indeterminate="node.indeterminate"
:disabled="!!node.disabled"
@click.native.stop
@on-change="handlecheckchange"></checkbox>
<span
v-if="node.loading"
class="ivu-load-loop">
</span>
<node-content :node="node"></node-content>
</p>
<collapse-transition>
<p
v-show="expanded">
<el-tree-node
:render-content="rendercontent"
v-for="child in node.childnodes"
:key="getnodekey(child)"
:node="child"
@node-expand="handlechildnodeexpand">
</el-tree-node>
</p>
</collapse-transition>
</p>
</template>
修改handlecheckchange,因为iview的checkbox组件逻辑不同,函数的返回不一样,需要兼容
handlecheckchange(ev) {
this.node.setchecked(ev, !this.tree.checkstrictly);
},
提取完成后的项目结构,以及封装成npm插件
使用方法
必须安装iview
样式风格全部替换成了ivew
功能全部按照element-ui原先一样
npm i chu-tree-iview
import chuview from 'chu-tree-iview'
vue.use(chuview)
<chu-tree></chu-tree>
使用文档跟element-ui一模一样
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
jquery获取上传文件详细信息
vue父组件往父组件内传递值步骤详解
以上就是vue.js树形控件使用详解的详细内容。