TypeScript неправильно выдает ошибку TS2769 для параметра fullTextSearch пользовательского интерфейса Semanti c - PullRequest
0 голосов
/ 03 марта 2020

Когда я использую 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 ".

1 Ответ

0 голосов
/ 03 марта 2020

@types/semantic-ui: "^2.2.7" устарел.

Он по-прежнему содержит старый «searchFullText» вместо нового «fullTextSearch». Я сообщил об этом по адресу: https://github.com/Semantic-Org/Semantic-UI/issues/6961

...