vue.js element-ui tree树形控件改iview的方法
程序员文章站
2022-06-17 11:50:10
element-ui组件的tree树形控件修改源码改为iview组件
实现原理
修改了element-ui源码,把源码里面的tree模块提取出来
然后修改el...
element-ui组件的tree树形控件修改源码改为iview组件
实现原理
修改了element-ui源码,把源码里面的tree模块提取出来
然后修改element自带checkbox等组件为iview的checkbox,并且兼容方法
最后修改element样式,改为iview风格,自己也添加了一些样式
新的tree组件可以说是element的逻辑,iview的风格
<template> <div @click.stop="handleclick" v-show="node.visible"> <div class="chu-tree-node__content" :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> </div> <collapse-transition> <div 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> </div> </collapse-transition> </div> </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一模一样
http://element-cn.eleme.io/#/zh-cn/component/tree
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 详解Javascript中new()到底做了些什么?
下一篇: vue全局组件与局部组件使用方法详解
推荐阅读
-
vue.js与element-ui实现菜单树形结构的解决方法
-
Qt中树形控件Tree Widget的使用方法汇总
-
element-ui控件操作iview的方法
-
vue.js element-ui tree树形控件改iview的方法
-
vue.js与element-ui实现菜单树形结构的解决方法
-
vue.js与element-ui实现菜单树形结构的解决方法
-
如何操作vue.js element-ui tree树形控件改iview
-
vue.js与element-ui实现菜单树形结构的解决方法
-
element-ui控件操作iview的方法
-
如何操作vue.js element-ui tree树形控件改iview