请问是否有这样的前端三方组件?
功能:
1、同级别的容器可以进行左右排序。
2、同级容器可以创建自己的子容器。
是的,有这样的前端第三方组件。一个流行的选择是 React Sortable Tree,它专门支持树状结构的拖放排序,包括水平(左右)方向,并且允许节点(容器)创建子容器。以下是详细解释和推荐:
功能匹配:
isHorizontal 属性配置),允许同级别的容器(节点)进行左右排列。安装方式:
npm install react-sortable-tree
# 或
yarn add react-sortable-tree简单示例代码(React):
import React, { useState } from 'react';
import SortableTree from 'react-sortable-tree';
import 'react-sortable-tree/style.css'; // 引入默认样式
function TreeComponent() {
const [treeData, setTreeData] = useState([
{ title: '容器1', children: [{ title: '子容器1' }] }, // 同级容器可创建子容器
{ title: '容器2' }, // 同级别容器可左右排序
]);
return (
<div style={{ height: 400 }}>
<SortableTree
treeData={treeData}
onChange={treeData => setTreeData(treeData)}
isHorizontal={true} // 设置为水平方向(左右排序)
/>
</div>
);
}在这个示例中:
isHorizontal={true} 启用水平排序。容器1)可以通过 children 属性添加子节点。如果 React Sortable Tree 不满足需求,以下是类似功能的库:
dnd-kit:一个更现代的拖放库,支持嵌套排序和水平方向。它更灵活,但需要更多自定义代码。适合 React 项目。
npm install @dnd-kit/core @dnd-kit/sortable @dnd-kit/utilitiesVue.Draggable(Vue 项目):支持嵌套拖放排序,包括水平方向。使用 Vue.js 时推荐。
npm install vuedraggableAngular CDK DragDrop(Angular 项目):内置的拖放模块,支持水平排序和嵌套容器。
react-virtualized 配合)来优化渲染。/img/bVdnFhg)似乎描述了一个类似树或嵌套布局的UI。以上库都能实现类似效果;如果你需要更具体的视觉匹配,可以尝试调整样式或提供更多细节。如果你有特定的前端框架(如 React、Vue 或 Angular),或者需要更多代码示例,请补充细节!
11 回答1.2k 阅读
3 回答955 阅读✓ 已解决
2 回答940 阅读✓ 已解决
3 回答886 阅读✓ 已解决
2 回答639 阅读
3 回答946 阅读
3 回答934 阅读
AI提供的react版本的拖拽
vue版本的 看看这个
https://sortablejs.github.io/Vue.Draggable/#/nested-example, nested的示例看着比较符合你的需求纯js版本的
https://sortablejs.github.io/Sortable/#simple-list