Livewire Select2 在更改时停止重新渲染
2021-07-17
1349
我正在处理一个带有
select2
的表单。这个想法是,当用户选择或更改
select2
下拉列表中的任何值时,需要在所选
accountId
上运行一个方法。
根据组件上所选的
accountId
显示一些消息。
blade.php
文件如下
<div class="col-md-9 col-12">
<div wire:ignore>
<select id="accountId" class="form-control" wire:model="accountId">
@foreach($accounts as $index => $account)
<option value="{{$index}}">{{ $account }}</option>
@endforeach
</select>
</div>
</div>
以下是启动
select2
的脚本。
$(document).ready(function () {
$('#accountId').select2().on('change', function (e) {
let data = $(this).val();
@this.set('accountId', data);
});
});
如何在我的
Livewire
组件中捕获该数据并在该
accountId
上运行必要的方法。
public function updatedAccountId($accountId)
{
if ($accountId) {
$account = Account::findOrFail($accountId);
$this->accountAlert = 'some message for user to display';
}
else {
$this->accountAlert = '';
}
}
当
select2
数据发生更改但
select2
未重新渲染时,会调用该方法。
如何停止重新渲染
select2
或重新渲染
select2
方法?
谢谢
1个回答
Jader
2021-07-17