最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

vue.js element-ui tree树形控件改iview的方法

来源:动视网 责编:小采 时间:2020-11-27 22:17:17
文档

vue.js element-ui tree树形控件改iview的方法

vue.js element-ui tree树形控件改iview的方法:element-ui组件的tree树形控件修改源码改为iview组件 实现原理 修改了element-ui源码,把源码里面的tree模块提取出来 然后修改element自带checkbox等组件为iview的checkbox,并且兼容方法 最后修改element样式,改为iview风格,自己也添加了
推荐度:
导读vue.js element-ui tree树形控件改iview的方法:element-ui组件的tree树形控件修改源码改为iview组件 实现原理 修改了element-ui源码,把源码里面的tree模块提取出来 然后修改element自带checkbox等组件为iview的checkbox,并且兼容方法 最后修改element样式,改为iview风格,自己也添加了


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

文档

vue.js element-ui tree树形控件改iview的方法

vue.js element-ui tree树形控件改iview的方法:element-ui组件的tree树形控件修改源码改为iview组件 实现原理 修改了element-ui源码,把源码里面的tree模块提取出来 然后修改element自带checkbox等组件为iview的checkbox,并且兼容方法 最后修改element样式,改为iview风格,自己也添加了
推荐度:
标签: VUE vue.js element-ui
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top