angular / angular/components

bug(Virtual scrolling + Signals): When removing an element from the array it is not removed from the screen

Đang mở
#27,291 2 bình luận 6 reaction 0 người được giao Xem trên GitHub
area: cdk/scrolling P3
Ngôn ngữ chính
TypeScript
Star
25k
Fork
6.8k
Merge trung bình
1 ngày 8 giờ
Pull request đã merge (30 ngày)
91

Mô tả

### Is this a regression?

- [ ] Yes, this behavior used to work in the previous version

### The previous version in which this bug was not present was

_No response_

### Description

When trying to use Virtual Scrolling with Signals when removing element, it is not removed from the screen. The bug only occurs using `*cdkVirtualFor`. If you use `*ngFor` the element is removed correctly.

### Reproduction

Ex:

HTML:
```



```

TS:
```
export type OrderColumn = { orders: Order[], total: number, page: number };
orderColumn: Signal;

```

### Expected Behavior

I expected that when removing an element from the orderColumn().orders array it would exit the screen.

### Actual Behavior

When removing an element, it continues to be rendered on screen.

### Environment

```
Angular CLI: 16.0.5
Node: 18.12.1
Package Manager: npm 8.19.2
OS: win32 x64

Angular: 16.0.5
... animations, cli, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router

Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1600.5
@angular-devkit/build-angular 16.0.5
@angular-devkit/core 16.0.5
@angular-devkit/schematics 16.0.5
@angular/cdk 16.0.4
@angular/material 16.0.4
@schematics/angular 16.0.5
rxjs 7.5.7
typescript 5.0.4
````

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện vấn đề với Angular template được cung cấp bằng cách sử dụng *cdkVirtualFor, Signals và việc xóa khỏi orderColumn().orders, sau đó so sánh với *ngFor. Truy vết đường dẫn cập nhật của tính năng cuộn ảo và xác minh rằng việc xóa một phần tử khiến mục tương ứng đã được render rời khỏi màn hình.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
angular, typescript
Lĩnh vực
frontend
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.