Когда я использую TypeScript с функцией поиска пользовательского интерфейса Semanti c, я получаю следующую ошибку, даже если присутствует параметр «fullTextSearch». Почему TypeScript не видит его, когда он прямо там?
Код
$('#'+this.uiSearch.id)
.search({
name: this.name+' Search',
namespace: "search"+this.uiSearch.id,
type: 'category',
source: categoryContent,
fullTextSearch: "exact",
maxResults: 30,
searchFields: ["category", "title", "description"],
minCharacters: 0,
onSelect: this.selectEntry,
});
Ошибка
js/browser/catalogueSelect.js:123:11 - error TS2769: No overload matches this call.
The last overload gave the following error.
Argument of type '{
name: string; namespace:
string;
type: string;
source: { category: any; title: any; id: any; description: any; }[];
fullTextSearch: string;
maxResults: number;
searchFields: string[];
minCharacters: number;
onSelect: (result: any, response: any) => void;
}'
is not assignable to parameter of type 'Param'.
Object literal may only specify known properties, and 'fullTextSearch' does not exist in type 'Param'.
123 fullTextSearch: "exact",
node_modules/@types/semantic-ui-search/global.d.ts:100:9
100 (settings?: SearchSettings): JQuery;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The last overload is declared here.
Документация
В соответствии с поисковой документацией Semanti c UI :
fullTextSearch «точный» Указание «true» будет использовать нечеткий полнотекстовый поиск, установка «точного» приведет к тому, что точный поиск будет найден где-то в строке, а установка в «ложь» будет соответствовать только началу строки. (Этот параметр ранее назывался searchFullText.)
Подробности
- Версия TypeScript 3.7.5
- JavaScript код с JSDo c аннотации, выполненные с помощью пакета
tsc --noEmit
- . json включает
"@types/semantic-ui": "^2.2.7"
PS: Я неверно истолковал сообщение об ошибке, похоже на «Аргумент type "описывает фактический ввод, а не ожидаемый, и файл global.d.ts содержит старое имя параметра" searchFullText "вместо нового" fullTextSearch ".