#angular #typescript #graphql #graphql-js
Вопрос:
Я хочу отфильтровать по нескольким входным элементам, которые выглядят следующим образом: Входные элементы
Поля, отображаемые на изображении, должны быть отфильтрованы одновременно. Если он не используется, он все равно должен фильтроваться. Я могу показать вам код, с которым я сейчас работаю.
let searchFilter:SearchableJobFilterInput = {
or: [
{
categoryID: {
matchPhrasePrefix: form.category
},
title : {
matchPhrasePrefix: form.title
}
}
],
};
this.API.SearchJobs(searchFilter).then((searchedJobs: SearchJobsQuery) => {
if(searchedJobs != null)
{
this.jobs = searchedJobs.items;
this.changeDetection.detectChanges();
console.log(this.jobs);
}
else {
console.log('No Data for Filtered Jobs!')
}
})
}
Я использую неправильные функции? Разве поиск не является тем, что мне нужно? Или есть какой-нибудь другой/лучший способ поиска?
Комментарии:
1. если запрос протестирован на игровой площадке (вы должны сделать это перед кодированием) [для разных случаев использования], то вы должны знать, как должен выглядеть arg/переменная … построение ее по коду-это проще простого
2. Спасибо за ваш ответ. К сожалению, я не понимаю, как может выглядеть запрос, потому что, если в одном элементе нет текста для фильтрации, он все равно фильтруется впустую, и это приводит к сбою…
3. играйте с API на игровой площадке, возвращайтесь со знаниями и показывайте примеры
4. Фильтр должен быть отключен или проигнорирован, если значение пустое. Но как? Есть ли какая-либо возможность сделать это в Graphql?
5. просто не передавайте его (переменный объект) — но еще раз … протестируйте его на детской площадке