【发布时间】:2019-12-18 06:40:05
【问题描述】:
我有一个要求,我需要在两个具有树状结构的容器之间实现拖放。一个容器是 TODO,另一个是 Done。它正在工作,但丢弃的数据总是附加到容器 2(完成)的节点 1,因为我不知道如何找到丢弃的容器节点索引?
这里是代码。工作演示可以找到here
import './polyfills';
import {HttpClientModule} from '@angular/common/http';
import {NgModule} from '@angular/core';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import {MatNativeDateModule} from '@angular/material';
import {BrowserModule} from '@angular/platform-browser';
import {platformBrowserDynamic} from '@angular/platform-browser-dynamic';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {DemoMaterialModule} from './material-module';
import {TreeFlatOverviewExample} from './app/tree-flat-overview-example';
@NgModule({
imports: [
BrowserModule,
BrowserAnimationsModule,
FormsModule,
HttpClientModule,
DemoMaterialModule,
MatNativeDateModule,
ReactiveFormsModule,
],
entryComponents: [TreeFlatOverviewExample],
declarations: [TreeFlatOverviewExample],
bootstrap: [TreeFlatOverviewExample],
providers: []
})
export class AppModule {}
platformBrowserDynamic().bootstrapModule(AppModule);
现在将“Other”拖放到“Done”容器中打开节点 1。您将能够看到拖放的元素。
要求:我想从 TODO 容器中拖拽到容器 2 的确切节点中。 快速帮助将不胜感激。
【问题讨论】:
-
所以如果我将
Security拖到Node 2上,那么应该附加到节点2,对吧? -
@Plochie 正确
-
@Plochie 如果容器 2 节点正在动态创建来自 API 的节点,您打算怎么做?我也认为有多个放置区节点也是如此,但由于 mat-tree 所需的数据源属性而卡住了。如果是动态节点列表,不知道该怎么做。此外,创建多个数据源可能会导致性能问题。
标签: javascript jquery angular angular-material2