Skip to content

fix: #19590 - TreeSelect overlay position with virtual scroll - #19593

Open
macayu17 wants to merge 1 commit into
primefaces:masterfrom
macayu17:fix/19590-treeselect-overlay-virtual-scroll
Open

fix: #19590 - TreeSelect overlay position with virtual scroll#19593
macayu17 wants to merge 1 commit into
primefaces:masterfrom
macayu17:fix/19590-treeselect-overlay-virtual-scroll

Conversation

@macayu17

Copy link
Copy Markdown

fixes #19590

TreeSelect now passes its scrollHeight to the inner p-tree when virtual scrolling is enabled. Without that, the virtual scroller could miss the height used by the overlay wrapper and the panel could be positioned wrong when it opened above the input.

Added a regression for the virtual scroll case.

Tested:

  • pnpm --filter primeng test:unit -- --include src/treeselect/treeselect.spec.ts
  • pnpm --filter primeng build

Copilot AI review requested due to automatic review settings May 21, 2026 16:54

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Updates TreeSelect to forward scrollHeight to the underlying tree only when virtual scrolling is enabled, and adds a regression test to verify the behavior.

Changes:

  • Passes scrollHeight into the internal tree component conditionally when virtualScroll is true.
  • Adds a unit test ensuring scrollHeight is propagated when virtual scrolling is enabled.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
packages/primeng/src/treeselect/treeselect.ts Conditionally binds scrollHeight to the underlying tree when virtual scroll is enabled.
packages/primeng/src/treeselect/treeselect.spec.ts Adds a test validating scrollHeight propagation during virtual scrolling.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +1346 to +1353
const treeSelectInstance = testFixture.debugElement.query(By.directive(TreeSelect)).componentInstance;
const dropdown = testFixture.debugElement.query(By.css('.p-treeselect-dropdown'));
dropdown.nativeElement.dispatchEvent(new MouseEvent('mousedown', { bubbles: true }));
await testFixture.whenStable();
testFixture.detectChanges();
await new Promise((resolve) => setTimeout(resolve));
await testFixture.whenStable();
testFixture.detectChanges();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TreeSelect: overlay position is not aligned above container when virtual scrolling is used

2 participants