gpt4 book ai didi

laravel - 如果查询为空,如何设置 Algolia 不返回任何结果 Laravel & Vue Instant Search

转载 作者:行者123 更新时间:2023-12-02 01:03:28 25 4
gpt4 key购买 nike

嘿,我在我的新 Laravel 项目中使用了 Algolia,但我进入了这个Algolia 显示我拥有“标题 - 描述”的所有数据。

我想要的只是当我在搜索框中输入内容时显示结果。

我的HTML代码

<div id="app">
<!-- Components will go here -->
<ais-index app-id="{{ config('scout.algolia.id') }}"
api-key="{{ env('ALGOLIA_SEARCH') }}"
index-name="posts">

<ais-search-box placeholder="Find products..."></ais-search-box>


<ais-results>
<template slot-scope="{ result }">
<div>

<h4>@{{ result.progName }}</h4>
<ul>
<li>@{{ result.description }}</li>
</ul>
</div>
</template>
</ais-results>

</ais-index>
</div>

发布模型

  <?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Laravel\Scout\Searchable;

class Post extends Model
{
//
use Searchable;

}

最佳答案

您应该将 ais-results 替换为基于查询隐藏它的组件。该组件看起来像这样:

<!-- MyResults.vue -->
<template>
<div v-if="query.length > 0">
<slot name="header"></slot>
<slot name="default" v-for="(result, index) in results" :result="result" :index="index">
{{index}}. Result 'objectID': {{ result.objectID }}
</slot>
<slot name="footer"></slot>
</div>
</template>

<script>
import { Component } from 'vue-instantsearch';

export default {
mixins: [Component],
computed: {
query() {
return this.searchStore.query;
},
results() {
return this.searchStore.results;
},
},
};
</script>

然后用您自己的 my-results 组件替换您对 ais-results 的用法:

<div id="app">
<!-- Components will go here -->
<ais-index app-id="{{ config('scout.algolia.id') }}"
api-key="{{ env('ALGOLIA_SEARCH') }}"
index-name="posts">

<ais-search-box placeholder="Find products..."></ais-search-box>


<my-results>
<template slot-scope="{ result }">
<div>

<h4>@{{ result.progName }}</h4>
<ul>
<li>@{{ result.description }}</li>
</ul>
</div>
</template>
</my-results>

</ais-index>
</div>

关于laravel - 如果查询为空,如何设置 Algolia 不返回任何结果 Laravel & Vue Instant Search,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49069732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com