Семантический поиск пользовательского интерфейса не работает

Я работаю с семантическим пользовательским интерфейсом, и когда я выполняю поиск на веб-сайте, результат пуст, но когда я смотрю на свою консоль, я вижу результат json.

это мой js-код

$('.ui.search').search({
    apiSettings: {
        url: "https://api.github.com/search/repositories?q={query}"
    },
   fields: {
        results: 'items',
        title: 'name',
        url: 'html_url',
        description: 'description'
    }
  });

и мой html код

<div class="ui right aligned category search item">
  <div class="ui transparent icon input">
    <input class="prompt" placeholder="Rechercher" type="text">
    <i class="search link icon"></i>
  </div>
  <div class="results"></div>
</div>

скриншот приводит к моей HTML-странице

и я попробовал пример для страницы semantic-ui

    $('.ui.search')
  .search({
    type          : 'category',
    minCharacters : 3,
    apiSettings   : {
      onResponse: function(githubResponse) {
        var
          response = {
            results : {}
          }
        ;
        // translate GitHub API response to work with search
        $.each(githubResponse.items, function(index, item) {
          var
            language   = item.language || 'Unknown',
            maxResults = 8
          ;
          if(index >= maxResults) {
            return false;
          }
          // create new language category
          if(response.results[language] === undefined) {
            response.results[language] = {
              name    : language,
              results : []
            };
          }
          // add result to category
          response.results[language].results.push({
            title       : item.name,
            description : item.description,
            url         : item.html_url
          });
        });
        return response;
      },
      url: '//api.github.com/search/repositories?q={query}'
    }
  })

а это не работа


person john    schedule 01.11.2016    source источник


Ответы (1)


у тебя такая же проблема

отладчик и получите следующее: скриншот отладки

кажется, что из ответа будет получено поле «результаты», поэтому, если ваш ответ без поля «результаты», вам нужно установить «результаты» в обратном вызове onResponse:

apiSettings : {
  onResponse (response) {
    return {
      results: response.myresults
    }
  }
}

и если вы не установили шаблоны, он будет использовать стандартный шаблон, стандартный шаблон использует поле «заголовок» для отображения, вам нужно выполнить некоторое преобразование следующим образом:

response.myresults.forEach((item) => {
  item.title = item.name;
})

надеюсь, это поможет вам

person sunheart    schedule 23.12.2016
comment
Я не понимаю. У OP был тег «результаты» в объекте ответа - в чем разница? :o У меня такая же ошибка в Semantic при использовании категорий, таких как OP (отлично работает без категорий). Интересно, что результаты отображаются, но maxResults не применяется. - person RubberDuckRabbit; 04.06.2019