是否可以应用本身包含条件的条件管道?
Is it possible to apply a conditional pipe which itself contains a condition?
我有一个下拉菜单(输入 + 自动完成),我可以在其中输入字符串或 select 下拉列表中的对象。
我只想在输入中的值是字符串类型时使用管道。如果用户 select 是下拉列表中的值,我需要删除自定义管道。
我想应用自定义管道,typeof option.name 是字符串。并在类型为 Object 时将其删除。
尝试了 link,但没有成功
实际代码:
<mat-option *ngFor="let option of sortedOptions"
[innerHTML]="option?.name | highlight : userControl.value" >
我无法理解的是如何在此处检查字符串类型:
{{ typeof(option.name) ? (option?.name | highlight : userControl.value) : option.name }}
您可以像这样在您的组件上创建辅助方法:
isString(val) { return typeof val === 'string'; }
现在您可以这样检查您的状况:
{{ isString(option.name) ? (option?.name | highlight : userControl.value) : option.name }}
这是为您准备的 demo
我有一个下拉菜单(输入 + 自动完成),我可以在其中输入字符串或 select 下拉列表中的对象。 我只想在输入中的值是字符串类型时使用管道。如果用户 select 是下拉列表中的值,我需要删除自定义管道。
我想应用自定义管道,typeof option.name 是字符串。并在类型为 Object 时将其删除。
尝试了 link,但没有成功
实际代码:
<mat-option *ngFor="let option of sortedOptions"
[innerHTML]="option?.name | highlight : userControl.value" >
我无法理解的是如何在此处检查字符串类型:
{{ typeof(option.name) ? (option?.name | highlight : userControl.value) : option.name }}
您可以像这样在您的组件上创建辅助方法:
isString(val) { return typeof val === 'string'; }
现在您可以这样检查您的状况:
{{ isString(option.name) ? (option?.name | highlight : userControl.value) : option.name }}
这是为您准备的 demo