angular - 带按钮的角度拖放列表
问题描述
我需要开发一个用于重新排序对象的角度组件(从列表 1“源”拖动到列表 2“目标”),并且我需要该组件具有按钮。
我观察了Angular Material 网站上存在的各种 dnd 组件,“拖放连接排序”是我正在寻找的一个很好的基础。我仍然怀念的是我们过去曾经拥有的按钮(我知道,老式的,但这些是强制性要求)。
请求的按钮是:
- 两个列表之间的按钮,将所选项目从列表 1 移动到列表 2,反之亦然,参见插图
- & 3. 目标列表旁边的“向上”和“向下”按钮,用于向上或向下移动所选项目
我知道这听起来很奇怪,但这就是他们的要求,我需要提供。我想我可以从头开始编写这样的组件,但如果有任何东西会更好。
有任何想法吗?
解决方案
您可以编辑示例使用的 HTML(每个数组有 1 个根 div,您可以使用材料图标按钮在其间插入第三个 div)并使用该transferArrayItem
功能来回传输项目。
一些伪代码。要点是: * 获取对 2 个容器的引用,通过 API 查找正确的对象。* 用于ViewChild
在您的 TS 文件中访问它。*单击项目选择它们并将它们的索引存储在selectedLeft
和selectedRight
@ViewChild('left-container') leftContainer;
@ViewChild('right-container') rightContainer;
public selectedLeft: number;
public selectedRight: number;
moveRight() {
transferArrayItem(this.leftContainer, this.rightContainer, this.selectedLeft, 0);
}
这应该将所选索引处的项目移动到右侧列表的顶部。
推荐阅读
- react-native - React Native:Pod install 导致 podfile.lock 中的版本与 package.json 不同
- r - 如何将碎石图比例设置为与主成分相同?
- python-2.7 - scipy.optimize.minimize() 约束取决于成本函数
- android - 我面临“未连接适配器;跳过布局”错误
- c# - 从 System.IO.Stream 读取数据到文本或文件
- python - gremlin io 从 url 一步
- google-kubernetes-engine - 如何增加 GKE 集群的 Service 地址范围
- html - 在 CSS 中将子块定位在父块的中心
- python - 熊猫获取列包含所有行中的字符
- r - 使用 `transition_reveal` 时会保留 `gganimate` 不需要的图层的过去数据