首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义Algolia instantSearch.js addWidget函数

自定义Algolia instantSearch.js addWidget函数
EN

Stack Overflow用户
提问于 2017-09-01 20:48:57
回答 1查看 448关注 0票数 2

我想根据Algolia返回的结果编辑Hits容器,假设如下:hits-container

代码语言:javascript
复制
<div id="hits">
    <div class="col-md-2">{{ id }}</div>
    <div class="col-md-2">{{ user }}</div>
    <div class="col-md-2">{{ email }}</div>
    <div class="col-md-2">{{ date }}</div>

    <a href="/orders/{{id}}/edit" class="btn" >
        <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>
    </a>
</div>

addWidget函数:

代码语言:javascript
复制
<script type="text/javascript">
search.addWidget(
    instantsearch.widgets.hits({
        container: '#hits-container',
        templates: {
            item: $('#hits').html(),
            empty: 'No Orders',
        }
    })
);
</script>

假设我想禁用编辑链接(如果日期小于当前日期),addWidget将在这个容器中显示Algolia返回的所有结果,现在我想在显示结果之前应用一些逻辑。有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-04 08:58:01

InstantSearch.js小部件模板可以定义为一个小胡子字符串,也可以定义为一个接收小部件数据并返回一个字符串的函数。

此函数可能包含有关禁用编辑链接的逻辑。类似于:

代码语言:javascript
复制
templates: {
  item: function(data) {
    let className = "";
    if (data.rating < 4) {
      className = "bad-rating";
    }
    return (
      "<div" +
      ' class="' +
      className +
      '">' +
      data._highlightResult.title.value +
      "</div>"
    );
  }
}

这里是一个完整的小提琴展示它。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46007796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档