我有一个下拉列表(输入+自动完成),可以在其中键入字符串或从下拉列表中选择一个对象。 我只想在输入的值是字符串类型时使用管道。如果用户从下拉菜单中选择一个值,则需要删除自定义管道。
我想将自定义管道应用为typeof选项。名称为String。并在类型为Object时将其删除。
尝试链接,但没有成功 Angular 2 Pipe under condition
实际代码:
<mat-option *ngFor="let option of sortedOptions"
[innerHTML]="option?.name | highlight : userControl.value" >
我无法理解的是如何在此处检查字符串类型:
{{ typeof(option.name) ? (option?.name | highlight : userControl.value) : option.name }}
答案 0 :(得分:1)
您可以像这样在您的组件上创建辅助方法:
isString(val) { return typeof val === 'string'; }
现在您可以像这样检查您的状况:
{{ isString(option.name) ? (option?.name | highlight : userControl.value) : option.name }}
这是为您工作的demo