有没有一种方法可以强制这个下拉菜单向底部打开,如果需要的话可以扩展页面?
不太确定最小代码示例是否会在这里有很大帮助,因为它必须在页面上做更多的定位
6l7fqoea1#
首先,这听起来像是一个非常糟糕的用户体验,就我个人而言,我不喜欢浏览这样的页面,无论是在移动的端还是桌面端。根据有关菜单的材料指南(下拉菜单是菜单的特例),这是材料组件的唯一正确行为:菜单的位置应相对于屏幕或浏览器的边缘。它们通常出现在生成它们的元素的旁边(或前面)。如果它们处于被浏览器或屏幕边缘切断的位置,则菜单可以改为显示在生成它的元素的左侧、右侧或上方。这可能就是为什么Angular Material团队没有将PositionStrategy公开为输入(或任何其他方式,即(一)首先。here有一个突出的git问题,但到目前为止,它似乎是一个低优先级的问题。因此,当涉及到改变mat-select本身的行为时,您就不走运了。此时,您最好的选择是将其重新创建为一个自定义组件,这将在单击触发器时打开一个CDK overlay,然后创建一个自定义PositionStrategy,在放置和行为方面符合您的要求。
PositionStrategy
mat-select
1条答案
按热度按时间6l7fqoea1#
首先,这听起来像是一个非常糟糕的用户体验,就我个人而言,我不喜欢浏览这样的页面,无论是在移动的端还是桌面端。
根据有关菜单的材料指南(下拉菜单是菜单的特例),这是材料组件的唯一正确行为:
菜单的位置应相对于屏幕或浏览器的边缘。它们通常出现在生成它们的元素的旁边(或前面)。如果它们处于被浏览器或屏幕边缘切断的位置,则菜单可以改为显示在生成它的元素的左侧、右侧或上方。
这可能就是为什么Angular Material团队没有将
PositionStrategy
公开为输入(或任何其他方式,即(一)首先。here有一个突出的git问题,但到目前为止,它似乎是一个低优先级的问题。因此,当涉及到改变
mat-select
本身的行为时,您就不走运了。此时,您最好的选择是将其重新创建为一个自定义组件,这将在单击触发器时打开一个CDK overlay,然后创建一个自定义PositionStrategy
,在放置和行为方面符合您的要求。