【问题标题】:primeng dropdown label widthprimeng 下拉标签宽度
【发布时间】:2021-01-29 10:22:13
【问题描述】:

我使用 primeng 下拉菜单 输入,我想让包含标签占位符的 div 具有 100% 的宽度。
以下是我的使用方法:

<div class="ui-grid ui-grid-responsive ui-fluid">
    <div class="ui-grid-row">
        <div class="ui-grid-col-2">
            <p-dropdown [options]="solutionsDropDownData" [(ngModel)]="solutionDropDownValue" placeholder="Solution..."
                [filter]="true" (onChange)="onSolutionChange($event)">
            </p-dropdown>
        </div>
    </div>
</div>

问题是我在占位符后面有一个空格,而我希望占位符是全宽的。空间可见下图:

当我选择其他值时,例如长度较小,空间的宽度会发生变化,如果我使用相同的示例,它会变大。

我已经尝试过这种方法,但都没有奏效:

  1. 使用了 autoWidth 参数,但是如果我将它与括号一起使用,这个参数会给我Can't bind to 'autoWidth' since it isn't a known property of 'p-dropdown'. 错误;如果我在不带括号的情况下使用它,错误就会消失,但它不起作用(我提到我导入了 DropdownModule);

  2. 使用如下 css 类(我分别使用它们,或者两者都使用):

    .ui-dropdown-label-container{ 宽度:100% !重要; }

    .ui-dropdown .ui-dropdown-panel { 最小宽度:100%!重要; 宽度:最大内容; }

  3. 使用的样式参数。

【问题讨论】:

  • 请删除所有父 div 或在检查后评论所有父 div
  • 我试过了。它不工作。
  • 您是否尝试过使用 Angular 的 ViewEncapsulation 的第二种方法?
  • 你的意思是在我的组件中使用 ViewEncapsulation.None 吗?

标签: css angular primeng angular9 primeng-dropdowns


【解决方案1】:

这是因为您用于 PrimeNG 的样式表。我们遇到了同样的视觉问题,并通过将下面的 css 类添加到 styles.css 来实现这一点

.ui-dropdown .ui-dropdown-label-container {
    width: inherit !important;
}

实际上inherit 调用100%,我不明白为什么它不适合你。

【讨论】:

    【解决方案2】:

    我设法通过添加以下代码解决了这个问题:


    基本上,我只是在 div 中添加了下拉菜单并更改了包含它的 div 的背景颜色。

    【讨论】:

      猜你喜欢
      • 2017-10-24
      • 2019-04-25
      • 2021-03-08
      • 1970-01-01
      • 2018-12-24
      • 1970-01-01
      • 2020-03-22
      • 2013-04-11
      • 1970-01-01
      相关资源
      最近更新 更多