我开始使用ng-bootstrap Typeahead组件,对此我感到非常满意。
我想实现的一件事是使下拉菜单项的宽度与输入字段的宽度相同,而默认行为将宽度与文本长度相对应。应该是基本的CSS ...
我在Plunker中创建了一个基本示例。
您可以注意到,所应用的样式将被忽略:
.dropdown-menu { width: 100%;}
Run Code Online (Sandbox Code Playgroud)
如果我使用浏览器开发工具,并且应用相同的工具,则会应用该工具。
使用CSS如何获得结果的任何想法?
我有一个新手 Angular/Typescript 问题。
我遵循ng-bootstrap typeahead 中定义的维基百科示例,我决定用提供以下 GET 调用的自定义 REST 服务替换 Wikipedia 调用:
并返回与姓名匹配的人员列表,其中每个人是:
Person(id:long, name:string, surname:string)
Run Code Online (Sandbox Code Playgroud)
现在从打字稿部分和角度部分,如果我将人员数组映射(...)到名称字符串数组到 _service 中,则一切正常:
但是我不想在 _service 中以这种方式映射并返回人员列表,以允许用户单击下拉列表中的结果,然后显示人员的详细信息而无需后续调用。
所以目前在我的打字稿组件中,模型是:
model: Observable<Person[]>;
Run Code Online (Sandbox Code Playgroud)
搜索部分如下:
search = (text$: Observable<string>) =>
text$.pipe(
debounceTime(300),
distinctUntilChanged(),
tap(() => this.searching = true),
switchMap(term =>
this._service.search(term).pipe(
tap(() => this.searchFailed = false),
catchError(e => {
this.searchFailed = true;
return of([]);
}))
),
tap(() => this.searching = false),
merge(this.hideSearchingWhenUnsubscribed)
)
Run Code Online (Sandbox Code Playgroud)
而 html 部分是:
<div class="input-group …Run Code Online (Sandbox Code Playgroud)