我正在尝试使用引导包v 1.0.0做类型头过滤器,因为我有 Angular 5 和 bootstrap 4,就像在这个网站中一样:[https://ng-bootstrap.github.io/#/getting-start][1]
但问题是我有这个错误:
错误:模板解析错误:无法绑定到"ngTypeahead",因为它不是"input"的已知属性
我的组件 HTML 文件:
<label for="typeahead-basic">Search for a state:</label>
<input id="typeahead-basic" type="text" class="form-control" [(ngModel)]="model" [ngTypeahead]="search"/>
<pre>Model: {{ model | json }}</pre>
在 TS 文件中:
import { debounceTime, distinctUntilChanged, map } from 'rxjs/operators';
import { User } from '../models/user';
import { UsersService } from '../services/users.service';
const states = ['Alabama', 'Alaska', 'American Samoa', 'Arizona', 'Arkansas', 'California', 'Colorado']
export class TestComponent implements OnInit {
public model: any;
search = (text$: Observable<string>) =>
text$.pipe(
debounceTime(200),
distinctUntilChanged(),
map(term => term.length < 2 ? []
: states.filter(v => v.toLowerCase().indexOf(term.toLowerCase()) > -1).slice(0, 10))
)
/*************************** */
......
在 app.module.ts 中:
import { NgbModule, NgbTypeahead, NgbTypeaheadModule } from '@ng-bootstrap/ng-bootstrap';
imports[ NgbModule,
NgbTypeaheadModule.forRoot()]
在 package.json 文件中:
"@ng-bootstrap/ng-bootstrap": "^1.0.0",
"@swimlane/ngx-datatable": "^11.2.0",
"bootstrap": "^4.1.3",
谢谢你的帮助
正如Ian a所建议的那样,问题来自此: 认为应该是[ngbTypeahead]="search"而不是ngTypeahead
它有效