masastack / MASA.Blazor

Blazor UI component library based on Material Design. Support Blazor Server, Blazor WebAssembly and MAUI Blazor.
https://docs.masastack.com/blazor/getting-started/installation
Other
1.19k stars 159 forks source link

[Bug Report]: 下拉自动补全框 经常弹不出来 list #1778

Closed anan1213095357 closed 8 months ago

anan1213095357 commented 8 months ago

Masa.Blazor version

最新的

Describe the bug

下拉自动补全框 经常弹不出来 list 如果在很多组件的情况下经常弹不出 刷新页面也没用 image 上图两个下拉框都用的同一个list

Expected Behavior

No response

Steps To Reproduce

No response

Reproduction code

No response

.NET version

No response

What browsers are you seeing the problem on?

No response

Additional context

No response

capdiem commented 8 months ago

@anan1213095357 你意思是你这个页面有很多这样的card,每个card还有两个autocomplete?

anan1213095357 commented 8 months ago

@anan1213095357 你意思是你这个页面有很多这样的card,每个card还有两个autocomplete?

是的,不只是这样的场景,我如果一个页面上很多元素,这种弹出式的就会经常有问题。包括模态框之类的。给人的感觉就是非常卡,这个自动补全框在这个页面我大概用了几十个。每一个都一样的items然后固定有几个始终弹不出来,只有我在页面刷新的时候重新弄才会弹出来。

capdiem commented 8 months ago

@anan1213095357 在性能不那么高的设备上,组件过多,尤其是循环渲染会导致卡的问题。以你的场景我的建议是

  1. 不要一次性加载所有card,使用InfiniteScroll和虚拟列表优化。
  2. 考虑改成只读和编辑两种模式,只读时不要用textfield,autocomplete去渲染,用文本即可。
  3. 如果用了row col,如果没有响应式需求,就直接用div就行了。

如果你能提供更多的代码,我就可以具体分析。

anan1213095357 commented 8 months ago

@anan1213095357 在性能不那么高的设备上,组件过多,尤其是循环渲染会导致卡的问题。以你的场景我的建议是

  1. 不要一次性加载所有card,使用InfiniteScroll和虚拟列表优化。
  2. 考虑改成只读和编辑两种模式,只读时不要用textfield,autocomplete去渲染,用文本即可。
  3. 如果用了row col,如果没有响应式需求,就直接用div就行了。

如果你能提供更多的代码,我就可以具体分析。

他这个没有一劳永逸的解决办法吗?为什么blazor小毛病总是这么多。

github-actions[bot] commented 8 months ago

This issue is stale because it has been open for 4 days with no activity.

github-actions[bot] commented 8 months ago

This issue is closed because it has been open for 3 days with stale.