我开源了一个基于Vue的组织架构树组件,web前端开发就业

实现思路


递归组件

对于递归组件,Vue 官方文档是这样说的:

组件在它的模板内可以递归地调用自己。不过,只有当它有 name 选项时才可以这么做。

这里我用 OkrTreeNode.vue 来表示树的节点,里面是这样用递归,下面是该组件简定:

<OkrTreeNode

v-for=“child in leftChildNodes”

:node=“child”

export default {

name: ‘OkrTreeNode’

}

递归组件的使用需要注意的两点是组件里面要有组件name 以及结束递归的条件。

树的状态

对于树的状态,我用一个 TreeStore 类来表示,该实现方式主要是参考 ElementUI 中的 tree 组件。TreeStore 中的属性就表示我外部传入的 pros 或者 attr 或者 事件和方法,都在这个对象里面管理,具体的代码可以看这里:

https://github.com/qq449245884/vue-okr-tree/blob/main/src/lib/vue-okr-tree/model/tree-store.js

节点的状态


对于节点的状态,我用一个 Node 对象来表示,具体的代码可以看下面这个地址,这里就不展开说了:

https://github.com/qq449245884/vue-okr-tree/blob/main/src/lib/vue-okr-tree/model/node.js

Demo 演示


基础用法

基础的树形结构展示,默认方式垂直方向。

水平方向

direction 属性设置为 horizontal 就可以展示水平方向。

节点是否可被展开

节点可被展开,默认是不展开,通过show-collapsable设置节点可被展开。

节点默认全部展开

通过设置 default-expand-all 默认展开所有节点,该参数只有在 show-collapsabletrue 时有效

可将 Tree 的某些节点设置为默认展开

通过 default-expanded-keys 设置默认展开的节点。需要注意的是,此时必须设置 node-key ,其值为节点数据中的一个字段名,该字段在整棵树中是唯一的。

节点的样式


可自行设置节点的默认样式和选中的样式。

通过 label-class-name 设置节点的样式,支持字符和函数方式。通过 current-lable-class-name 设置当前节点选中的样式,支持字符和函数方式。

节点自定义内容

可自行设置节点内容。通过 render-content 渲染节点内容。

OKR 展示模式

该模式的出现,是为了实现跟飞书OKR 展示的视图一样效果,所以在 Tree 的模式下,扩展成左右两棵子树。

该模式必须设置 onlyBothTree ,以及通过 leftData表示左子数的结构。

OKR 展示模式之自定义节点内容

与上常规 Tree 一样,我们也可以通过自定义渲染函数来制定节点的内容。

通过 render-content 渲染节点内容,通过返回 node 中的 isLeftChild 判断是否是左边的树。

节点过滤(不可展开)及支持的方法

通过关键字过滤树节点,在需要对节点进行过滤时,调用 Tree 实例的 filter 方法,参数为关键字。需要注意的是,此时需要设置 filter-node-method ,值为过滤函数。

节点过滤(可被展开)

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

文末

逆水行舟不进则退,所以大家要有危机意识。

同样是干到35岁,普通人写业务代码划水,榜样们深度学习拓宽视野晋升管理。

这也是为什么大家都说35岁是程序员的门槛,很多人迈不过去,其实各行各业都是这样都会有个坎,公司永远都缺的高级人才,只用这样才能在大风大浪过后,依然闪耀不被公司淘汰不被社会淘汰。

为了帮助大家更好温习重点知识、更高效的准备面试,特别整理了《前端工程师核心知识笔记》电子稿文件。

内容包括html,css,JavaScript,ES6,计算机网络,浏览器,工程化,模块化,Node.js,框架,数据结构,性能优化,项目等等。

269页《前端大厂面试宝典》

包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中级前端技术点。

前端面试题汇总

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

7d94286de8afe404cb51d1.png)

前端面试题汇总

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-XOROJRws-1712580296943)]

  • 26
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建 Vue 开发环境步骤: 1. 安装 Node.js 首先需要安装 Node.js,它是一个基于 Chrome V8 引擎的 JavaScript 运行环境。可以在 Node.js 的官网下载最新版本的安装包并进行安装。 2. 安装 Vue CLI Vue CLI 是 Vue.js 官方提供的一个脚手架工具,可以快速搭建 Vue.js 项目的基础结构。可以使用以下命令进行安装: ``` npm install -g @vue/cli ``` 3. 创建项目 使用 Vue CLI 可以快速创建一个 Vue.js 项目。可以使用以下命令创建一个新的项目: ``` vue create my-project ``` 其中 `my-project` 为项目名称,可以根据自己的需要进行修改。 4. 启动项目 创建完项目后,可以使用以下命令进入项目目录并启动项目: ``` cd my-project npm run serve ``` 以上就是搭建 Vue 开发环境的基本步骤。下面是基于 Vue 组件开发 Web 前端应用程序的实验总结: 基于 Vue 组件开发 Web 前端应用程序实验总结: 1. 组件的注册 在 Vue 中,可以通过 `Vue.component` 方法来注册一个组件。在注册组件时,需要指定组件的名称和组件的选项。例如: ``` Vue.component('my-component', { // 组件选项 }) ``` 2. 组件的使用 在使用组件时,只需要在模板中使用组件的名称即可。例如: ``` <my-component></my-component> ``` 3. 组件的数据传递 在 Vue 中,可以通过 `props` 选项来定义组件的属性。在使用组件时,可以通过属性的方式向组件传递数据。例如: ``` Vue.component('my-component', { props: ['message'], template: '<div>{{ message }}</div>' }) <my-component message="Hello"></my-component> ``` 4. 组件的事件 在组件中,可以通过 `$emit` 方法触发一个事件。在使用组件时,可以通过 `v-on` 指令监听组件的事件。例如: ``` Vue.component('my-component', { template: '<button @click="$emit(\'my-event\')">Click me</button>' }) <my-component @my-event="handleClick"></my-component> ``` 5. 组件的插槽 在 Vue 中,可以通过插槽来定义组件的内容。在组件中,可以使用 `slot` 元素来定义插槽。在使用组件时,可以在组件的标签中添加内容,这些内容将会替换掉组件中的插槽。例如: ``` Vue.component('my-component', { template: '<div><slot></slot></div>' }) <my-component>Some content</my-component> ``` 以上就是基于 Vue 组件开发 Web 前端应用程序的实验总结。在实际开发中,可以根据需要选择不同的组件来构建 Web 页面,从而提高开发效率和代码的可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值