项目需要,需要完全通过前端来操作树。不是 DOM 树也不是树形组件,是下面这样的数据结构意义上的树:
const tree = [
{
id: '1',
title: '节点 1',
children: [
{
id: '1-1',
title: '节点 1-1'
},
]
}
]
需要用到下面这些操作:
拼拼凑凑勉强写了个能用的,但是总感觉还是很不放心。就像之前去看 lodash 的源代码一样,看起来很简单的功能,为了考虑周全各种状况,最后写出来的代码都比想象中长很多。
所以有类似 lodash 这样的可以放心使用操作树的 JS 库吗?
1
nulIptr 2023 年 10 月 26 日 这不就是普通的业务代码吗,实在觉得自己写的不行就有请 chatgpt 吧
|
2
kuber 2023 年 10 月 26 日
能压扁来处理吗?你是什么场景?
|
3
Pastsong 2023 年 10 月 26 日 via Android
npm 库一大堆
|
4
wakarimasen 2023 年 10 月 27 日 via Android
你是要做类似资源管理器左侧目录那种功能吗
|
5
gooin 2023 年 10 月 27 日
antd 呗
|
6
SixGodHave7 2023 年 10 月 27 日
@nulIptr 确实,我个人觉得像这些基础逻辑用 gpt 比自己靠谱
|
7
Leila233 2023 年 10 月 27 日
之前 start 了一个库,感觉还不错,也比较简单: https://github.com/wintc23/js-tree-tool
|
8
Coder89757 2023 年 10 月 27 日
|
9
0829ewlLuna 2023 年 10 月 27 日
之前研究过 antd 的 treeSelect 组件,可以去看看他们的源码,你说的这几个场景都有覆盖,我是扒了他们的源码改改用的,使用到的场景是一个文档的目录页面,需要支持展开收起,以及文件目录的删除/平移/跨级移动。
|
10
sx931210 2023 年 10 月 27 日
火焰纹章好玩吗
|
11
MrDavidJones 2023 年 10 月 27 日 via iPhone
|
12
NerbraskaGuy 2023 年 10 月 27 日
之前做项目,后端接入第三方数据之后数据清洗全放在了前端,也是这种树结构还好几层,各种展开 筛选 增删,弄麻了
|
13
txzh007 2023 年 10 月 27 日
ui 组件很多都支持,麻烦的是移动后的逻辑处理
|
14
duan602728596 2023 年 10 月 27 日
只能多写测试用例覆盖一下了
|
15
iOCZ 2023 年 10 月 27 日
用宽度优先遍历打平即可
|
16
ChefIsAwesome 2023 年 10 月 27 日 via Android
浏览器环境的话,你直接创建一个 dom 元素,把值写在 attribute 上,这样那一堆 dom 操作节点的方法你都能用了。
|
17
Nazz 2023 年 10 月 27 日
练一练递归
|
18
darkengine 2023 年 10 月 27 日
这个树操作打算支持拖拽吗?
|
19
HelloWorld556 2023 年 10 月 27 日
我是问的 gpt ,写出来的非常好用
|
20
dudubaba 2023 年 10 月 27 日
先递归打平,增删改完再递归还原。嗖一下,比引入库快多了。
|
21
coderHu 2023 年 10 月 27 日
|
22
learningman 2023 年 10 月 28 日 via Android
基础不牢建议转行
|
23
HaroldFinchNYC 2023 年 10 月 28 日
@NerbraskaGuy 那你们后端太懒了
|
25
meteor957 2023 年 10 月 28 日 via Android
@learningman 你的建议没人会听,你的建议毫无价值
|
26
dayeye2006199 2023 年 10 月 28 日 via Android
Leetcode 多刷刷
|
27
learningman 2023 年 10 月 28 日
@meteor957 那就不叫建议好了,改叫早晚转行比较好
|
29
humbass 2023 年 11 月 1 日
听说这个 https://www.npmjs.com/package/tree-model 就是楼主想要的
|
30
KMpAn8Obw1QhPoEP 2023 年 11 月 3 日
@ChefIsAwesome 角度刁钻!
|