【发布时间】:2021-05-10 20:05:25
【问题描述】:
我正在尝试进行一个相对简单的“实时搜索”来查询模型并返回交互式结果列表。我正在使用 Laravel 8.12 和 Livewire 2.3
我的搜索.php
namespace App\Http\Livewire;
use Livewire\Component;
use App\Models\Event;
class Search extends Component
{
public $searchTerm;
public function render(){
$searchTerm = '%' . $this->searchTerm . '%';
$data = [
"events" => Event::where('title', 'like', $searchTerm)->get()
];
return view('livewire.search', $data);
}
}
还有我的 Livewire 刀片
<div class="search hidden sm:block" style="padding-top: 8px; max-width: 300px;">
<input type="text" class="search__input input dark:bg-dark-1 placeholder-theme-13" placeholder="Search..." style="max-width: 300px;" wire:model="searchTerm" />
<i data-feather="search" class="search__icon dark:text-gray-300"></i>
</div>
<div class="search-result show">
<div class="search-result__content">
<div class="mb-5">
Search Results
@if($searchTerm != "")
@if($events->isEmpty())
<p>No results for {{ $searchTerm }}</p>
@else
<p>{{ $events->count() }} results for {{ $searchTerm }}</p>
@foreach($events as $event)
<a href="" class="flex items-center">
<div class="ml-3">{{ $event->title }}</div>
</a>
@endforeach
@endif
@endif
</div>
</div>
</div>
奇怪的是,当我在控制台中输入时,我可以看到返回的结果
但结果并没有“出现”在我面前。有什么帮助吗?
【问题讨论】: