我在angular的自动完成示例中遇到此错误。这是代码:
ngOnInit() {
this.filteredOptions = this.myControl.valueChanges
.pipe(
startWith(''),
map(val => this.filter(val))
);
}
错误是在startWith上产生的。我在第二个val也遇到了错误。它说:
类型'{}'的参数不能分配给'string'类型的参数
功能是:
filter(val: string): string[] {
return this.options.filter(option =>
option.toLowerCase().indexOf(val.toLowerCase()) === 0);
}
提示: 有混合控制或进口的东西。我不确定,但是当我创建一个新组件时,一切正常。
答案 0 :(得分:32)
我遇到了同样的问题,结果发现我是从错误的目录导入map和startWith。
import {map, startWith} from "rxjs/operators";
使用它来导入map和startWith,它应该可以工作和编译。
答案 1 :(得分:0)
我的情况是,我通过从 <field name="fetched_users" invisible="True"/>
<xpath expr="//field[@name='user_id']" position="attributes">
<attribute name="domain">
[('id','in',fetched_users)]
</attribute>
</xpath>
自动填充而不是从 take(1)
自动填充来自动加载 rxjs/compat/take
,并发现了这个问题。不是那么明显的事情:)