我正在用 Angular 的阿尔戈利亚。
有一个我要自定义的搜索框。
到目前为止,这是我所做的。
.html文件-
<ais-instantsearch [config]="productsConfig">
<ais-search-box></ais-search-box>
<ais-hits>
</ais-hits>
<ng-template let-hits="hits">
.ts文件
import { Component, OnInit } from '@angular/core';
import { OwlOptions } from 'ngx-owl-carousel-o';
import algoliasearch from 'algoliasearch/lite';
import { environment } from 'src/environments/environment';
const searchClient = algoliasearch(
environment.algolia_application_id,
environment.algolia_search_api_key
);
@Component({
selector: 'app-products',
templateUrl: './products.component.html',
styleUrls: ['./products.component.scss']
})
export class ProductsComponent implements OnInit {
constructor() { }
productsConfig = {
indexName: 'products',
searchClient
};
ngOnInit(): void {
}
}
我无法自定义搜索框。
如何自定义 Angular 的阿尔及利亚搜索框?
任何帮助,将不胜感激。
谢谢
我无法自定义搜索框,所以我尝试了不同的方法。
组件文件-
getProductList(){
var parameters = {
query : '',
hitsPerPage : 1,
filters: `doctorId = ${this.doctorId}`
};
this.algoliaService.getData('products', parameters)
.then(data => {
if( data.hits.length > 0 )
{
this.doctorDetails = data.hits[0];
}
})
}
服务文件-
getData(indexName, parameters) : any {
const index = searchClient.initIndex(indexName);
return index.search(parameters);
}
这样,你可以从组件文件中获取数据,因此无需自定义搜索。只需在参数中传递你的搜索框值即可。