簡體   English   中英

Angular-Slickgrid 下拉框過濾器在每次點擊過濾器后彈出網格下方的額外下拉框

[英]Angular-Slickgrid drop down box filter pops extra drop down boxes below grid after each click on filter

我使用的是 Angular 11 版和 Angular-Slickgrid 2.23.0 版

我在 Angular-Slickgrid 中添加了一個下拉框過濾器。 過濾器功能沒有問題,但每次單擊過濾器時,網格下方都會出現一個額外的下拉框,並且在刷新頁面之前它不會消失。

如果我一直點擊過濾器,就會出現越來越多的下拉框。 看起來網頁上只有一個額外的框,但是當我打開 html 元素時,我可以看到生成的下拉元素列表。

在此處輸入圖片說明

我查看了 Angular-Slickgrid 官方關於過濾器的演示頁面,每次單擊過濾器時,html 頁面底部都會生成一個帶有位置的下拉元素,當我再次單擊過濾器時,下拉元素消失。 這是它應該工作的方式,但是當我單擊過濾器時,下拉框元素不會消失。

請參閱下面的源代碼。 在調試期間,我刪除了所有不必要的代碼以只保留一列,但問題仍然存在。 這個問題存在於我項目中的所有下拉框過濾器中。 其他只有文本的過濾器效果很好。

在此處輸入圖片說明

在此處輸入圖片說明

非常感謝您的幫助。

對於遇到此問題的人,在此處之外進行了討論,結果是因為頁面中有多個body 為什么會出現這個問題的解釋,Angular-Slickgrid 使用了multiple-select.js外部庫,下拉實際上是在 Filter 輸入下的位置,當我們說 (position) 時,我們真正的意思是重新定位 (通過絕對位置)下拉列表在輸入下移動,在 Angular-Slickgrid 中,我們使用容器作為body因為這是使其顯示在其他所有內容上的唯一方法,因此只能有一個body才能正常工作。

Angular-Slickgrid 使用的默認多選選項是

const defaultOptions: MultipleSelectOption = {
  autoAdjustDropHeight: true,
  autoAdjustDropPosition: true,
  autoAdjustDropWidthByTextSize: true,
  container: 'body', // <<-- we use `body` for positioning over everything
  filter: false, 
  maxHeight: 275
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM