【问题标题】:Angular 6 Material - Change the separator in mat-select multiple optionsAngular 6 Material - 更改垫子中的分隔符 - 选择多个选项
【发布时间】:2018-11-13 08:16:18
【问题描述】:

我的表单中有一个带有多个选项的 mat-select (You can see a demo in here)。

<mat-form-field style="width: 100%">
  <mat-select placeholder="Toppings" [formControl]="toppings" multiple>
    <mat-option *ngFor="let topping of toppingList" [value]="topping">{{topping}}</mat-option>
  </mat-select>
</mat-form-field>

它在其输入字段中显示一个以逗号分隔的选定选项列表。有没有办法改变分隔符?

【问题讨论】:

  • 缺少代码。请将您的问题设为最小、完整且可验证的示例M.C.V E。还要检查how to ask question 以使您的帖子可以回答。

标签: angular angular-material


【解决方案1】:

负责该分隔符的代码可以在这里找到https://github.com/angular/material2/blob/9f6aa843cd2f68562d3f5290688bbe5bab957bcf/src/lib/select/select.ts#L642

// TODO(crisbeto): delimiter should be configurable for proper localization.
return selectedOptions.join(', ');

如您所见,目前尚不支持。 但是 还有另一种方法来实现它。

只需添加自定义mat-select-trigger 如下:

<mat-select [formControl]="toppings" multiple ...>
    ...
    <mat-select-trigger>
        <span> {{toppings.value ? toppings.value.join('; ') : ''}}</span>
    </mat-select-trigger>
</mat-select>

Forked Demo

这样你就可以选择任何分隔符,例如:

toppings.value.join('&#9832;')

【讨论】:

猜你喜欢
  • 2018-03-25
  • 2018-03-27
  • 1970-01-01
  • 1970-01-01
  • 2019-03-04
  • 1970-01-01
  • 2018-05-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多