如何更改搜索框的提交按钮图标?

时间:2019-05-06 23:44:40

标签: algolia instantsearch.js

我正在设置Algolia Instantsearch.js,我想替换默认的搜索框提交按钮图标。

docs显示使用小部件类名称来设置图标颜色的样式,但是我不知道如何用另一个svg替换svg图标。

这是Algolia为“提交”按钮图标生成的默认代码:

<button class="ais-SearchBox-submit" type="submit" title="Submit the search query."><svg class="ais-SearchBox-submitIcon" xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 40 40"> <path d="M26.804 29.01c-2.832 2.34-6.465 3.746-10.426 3.746C7.333 32.756 0 25.424 0 16.378 0 7.333 7.333 0 16.378 0c9.046 0 16.378 7.333 16.378 16.378 0 3.96-1.406 7.594-3.746 10.426l10.534 10.534c.607.607.61 1.59-.004 2.202-.61.61-1.597.61-2.202.004L26.804 29.01zm-10.426.627c7.323 0 13.26-5.936 13.26-13.26 0-7.32-5.937-13.257-13.26-13.257C9.056 3.12 3.12 9.056 3.12 16.378c0 7.323 5.936 13.26 13.258 13.26z"></path> </svg></button>

2 个答案:

答案 0 :(得分:2)

Algolia的InstantSearch.js中的小部件带有预定义的呈现。您可以为它们设置样式,但是如果您对实际的渲染不满意(即,为小部件生成的HTML),则必须创建自己的样式。

在要定制现有窗口小部件的情况下(这就是您的情况),它们提供了一种聪明的机制,称为“连接器”。 他们基本上已经将小部件的行为/逻辑与其呈现分离。不同的连接器为每个搜索组件提供逻辑,并且小部件在这些连接器的顶部提供了一个UI。

因此,在您的情况下,您需要查看documentation on connectors并继续使用connectSearchBox connector创建自己的searchBox小部件。

答案 1 :(得分:0)

您正在使用哪个InstantSearch?在React InstantSerach v5中,您可以替换默认SearchBox中的图像,而无需创建自定义Searchbox:

<SearchBox
  reset={<img src="/reset.png" alt=""/>}
/>

以下是支持文档: https://www.algolia.com/doc/api-reference/widgets/search-box/react/#widget-param-submit