angular - StencilJS 拖放
问题描述
我希望在列表之间实现拖放,例如 Angular 的 cdkdroplist https://material.angular.io/cdk/drag-drop/overview#transferring-items-between-lists
我将如何最好地在我的 Stencil 组件中实现这一点?我可以以某种方式使用上面引用的拖放 api,如果可以:如何?如果没有,我应该考虑另一种方法吗?
我不确定如何将此 Angular 代码转换为我的 Stencil 语法:
<div
cdkDropList
#todoList="cdkDropList"
[cdkDropListData]="todo"
[cdkDropListConnectedTo]="[doneList]"
class="example-list"
(cdkDropListDropped)="drop($event)">
<div class="example-box" *ngFor="let item of todo" cdkDrag>{{item}}</div>
</div>
解决方案
使用sortablejs要简单得多。您将需要以下内容。
npm i sortablejs @types/sortablejs
然后构造两个ul
类似如下的列表:
<ul>
{
this.items.map(i =>
<li data-id={i.id}>{i.text}</li>
)
}
</ul>
在他们的页面上查看更多说明/示例。
推荐阅读
- android - 如何使用 ReentrantLock 或 Mutex 正确锁定线程?
- angular - 为什么在将 Angular Spring war 文件部署到 Apache Tomcat 时出现空白页
- android - JobIntentService 作业 ID 是全局唯一的还是由类限定?
- postgresql - 无法在命令行上运行 psql...在 macOS Mojave 上安装了 PostgreSQL.app
- c# - 通过 C# 调用 powershell 脚本并将输出捕获到 ASP
- javascript - 尝试创建一个将更改字体系列的按钮
- odata - 在 .Net Core 3.1 OData EDMModelBuilder 中公开私有设置器
- c++ - 尝试使用 CreateFileMapping 和自定义 DACL 创建只读共享内存区域在 OpenFileMapping 中失败
- laravel - 更改 Laravel Web Tinker 公共文件目录 - 防止保存时出现 403 错误
- powerbi - 如何使用 PowerBI DAX 瀑布图计算方差