так что в основных терминах я хочу создать объект с помощью:
{
starting_position: {
id: 1
}
}
перетащить объект и, если его уронить, установить объект на:
{
starting_position: {
id: 2
}
}
НоЯ не уверен, что делать с модулем углового перетаскивания.
Вот мой код:
app.component.ts
squad = 'cdk-drop-list-0';
team = 'cdk-drop-list-1';
bench ='cdk-drop-list-2';
drop(event: CdkDragDrop<string[]>, player: HomeTeam) {
if (event.previousContainer === event.container) {
moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);
} else {
transferArrayItem(event.previousContainer.data,
event.container.data,
event.previousIndex,
event.currentIndex);
}
if (event.previousContainer.id == this.squad && event.container.id == this.team) {
console.log('squad player to starting lineup');
//how do I manipulate the player object to be able to alter the starting position id here?
}
if (event.previousContainer.id == this.team && event.container.id == this.bench) {
console.log('starting player has been benched');
//how do I manipulate the player object to be able to alter the starting position id here?
}
if (event.previousContainer.id == this.bench && event.container.id == this.team) {
console.log('bench player to starting');
//how do I manipulate the player object to be able to alter the starting position id here?
}
if (event.previousContainer.id == this.bench && event.container.id == this.squad) {
console.log('bench player has been removed from lineup');
}
if (event.previousContainer.id == this.squad && event.container.id == this.bench) {
console.log('squad player has been put on the bench');
//how do I manipulate the player object to be able to alter the starting position id here?
}
if (event.previousContainer.id == this.team && event.container.id == this.squad) {
console.log('starting player has been removed from lineup');
//how do I manipulate the player object to be able to alter the starting position id here?
}
}
класс данных
export class HomeTeam {
id: number;
age: number;
avatar: {
data: {
url: string;
}
}
name: string;
goals: string;
caps: string;
height: string;
captain: string;
squad_number: number;
nationality: {
data: {
country: string;
}
}
field_position: {
data: {
position: string
};
};
starting_position: {
data: {
id: number;
starting_position: string;<-- this I need to drill to, to switch from 'squad', to 'starting', and 'bench' via id
}
};
yellow: number;
red: number;
}
Все элементы перетаскиваются правильно, а журналы консоли показывают, что путь перетаскивания для каждого события задан правильно, ноВначале я надеялся, что кто-то знает способ манипулирования объектами данных, которые удаляются, когда-то внутри новой группы списков.
Также будет ли размещение этой манипуляции внутри метода отбрасывания лучшим способом для этого?