求一个移动端 树形组件

发布于 2022-09-12 13:07:14 字数 100 浏览 29 评论 0

背景:移动端 ,需要一个类似于树形控件的组件

点击 列表的某一列,会重新渲染列表 并在旁侧显示面包屑,可以勾选某一列的checkbox 父子级严格相关 嗯 目前就这么多

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

稚气少女 2022-09-19 13:07:14

我觉得吧,这不是好问题,当然你别不开心哈;

这个问题基本就是你要做的需求,而不是一个值得探讨的问题,基本等于是告诉社区小伙伴:我有个活,你们帮我干了吧;

你需要有自己的思考,甚至一个不成熟的方案之后,然后带着思考来问,提问应该是探讨式的,不应该是索取式的,这样我相信会有很多人愿意帮你。

比如你可以问:移动端显示树形列表组件,我应该怎么优雅的管理访问路径?是路由地址记录信息然后每次都是刷新路由?有其他方式吗?

那我可能回答:
可以使用『栈』一个数组 stack 来管理访问路径,有哪些操作呢:

  • 访问节点:将访问的节点对象 stack.push(node) 进这个数组中
  • 返回上一级:就是 stack.pop()
  • 点击路径面包屑的某一个点:就是找到这个点的 index, 然后 stack.splice(index + 1)

接下来就简单了:

  • 当前节点列表的爸爸是谁呢?显然是:currentNode = stack[stack.length - 1]
  • 每次设置 currentNode 的时候,都是一个获取当前子节点列表,渲染页面的时机,对吧?
  • 怎么同步 checkbox 状态呢?显然,每个节点有 checked 属性,如果选中节点 this.currentNode.checked = true; 然后,循环更新所有子节点的 checked 属性;
  • 当然,这里还有个细节:子节点的子节点是否也要设置 checked = true ? 如果需要,那就要递归的去更新下去,如果不需要,那就直接循环子节点即可;
  • 能否增加一个属性,isDeep ? 来控制是否需要深层 check?
  • 还有好多,慢慢想喽

希望对你有帮助

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文