Livewire不显示数据没有页面重新加载



嗨,我在Livewire做一个私人聊天应用程序,但事情是当我插入一个消息不显示,除非我重新加载页面请帮助我如何解决这个问题?谢谢你。

我使用Livewire全页组件,这里是代码

Route::get('/messaging',Messaging::class)->name('messages');

Http Livewire app Messaging.php

class Messaging extends Component
{
public $body;
public $searchTerm;
public $selectedUser;
public function mount(){
$this->selectedUser =User::where('id','!=',Auth::user()->id)
->first();
}
public function render()
{
$searchTerm = '%'.$this->searchTerm.'%';
if($searchTerm){
$user=  User::where('id', '!=', Auth::user()->id)
->where('email', 'like', $searchTerm)
->with('messages')
->get();
}
$conservation = Message::query()
->where('sender_id',  Auth::user()->id)
->where('receiver_id',  $this->selectedUser->id)
->orWhere('receiver_id',  Auth::user()->id)
->where('sender_id', $this->selectedUser->id)
->with('sender')
->with('receiver')
->get();
return view('livewire.messaging',[
'users'         => $user,
'conservation'  =>$conservation
]);
}
public function viewMessages($userId){
$this->selectedUser = User::findorFail($userId);
}
public function sendMessages(){
Message::create([
'receiver_id'           =>   $this->selectedUser->id,
'sender_id'             =>    Auth::user()->id,
'body'                  =>      $this->body
]);
$this->reset('body');
$this->viewMessages($this->selectedUser->id);
}
}

必须在完成调用方法后调用渲染函数

public function sendMessages(){
Message::create([
'receiver_id'           =>   $this->selectedUser->id,
'sender_id'             =>    Auth::user()->id,
'body'                  =>      $this->body
]);
$this->reset('body');
$this->viewMessages($this->selectedUser->id);
$this->render(); //this will load the all the conservation message 
}

相关内容

  • 没有找到相关文章

最新更新