Ich versuche, ein Element von einem Repeater in NativeScript zu entfernen, indem Sie es einfach zusammenklappen. Ich kann die Höhe des Gegenstandes gut skalieren, aber der Platz bleibt erhalten, so dass der Repeater nach dem Entfernen des Gegenstands aufspringt. Ich möchte, dass die restlichen Elemente im Repeater nach oben verschoben werden, während das zu entfernende Objekt minimiert ist.Animieren Repeater Item Höhe In NativeScript
Hier ist das Verhalten, das ich jetzt habe. Beachten Sie, dass der Rest der Elemente nicht verschoben wird, bis das Element, das gelöscht wird, die Animation beendet hat.
Hier ist, was ich bisher für die Animation Code habe:
let remove = (args: EventData) => {
let view = <View>args.object;
let item = view.parent.parent;
let todo = view.bindingContext;
item.originY = 0;
item.animate({
scale: { x: 1, y: 0 },
curve: "easeIn",
duration: 500
})
.then(() => {
item.visibility = 'collapsed';
viewModel.remove(todo);
});
}
Ja, aber das Problem ist, dass Sie don Ich weiß nicht, welches Element im Repeater gelöscht wird. Wenn Sie Objekte haben, die sich außerhalb der Struktur des Repeaters befinden, die ebenfalls nach oben verschoben werden müssen, müssen Sie das gesamte übergeordnete Element auswählen, um dies zu tun. Es wird wirklich sehr schnell eklig. NativeScript bietet auch keinen Selektor an, der sagt "Hol mir alle Geschwister dieses Gegenstandes, die nach diesem Gegenstand kommen". –