我在订单表单中有一个 input text 字段,该字段绑定到 accountForm 属性。我还有一个输入复选框,绑定到isChecked,如果被标记,则创建订单时用户帐户也会更新。复选框一开始是未选中的(isChecked = false),但是当客户更改输入文本时,类中的updateAccountForm方法更改了属性isChecked = true。这有效,已使用 dd 进行验证,但 blade view 中的复选框仍为 unchecked。我请求你帮助解决这个问题。我感觉它在 Livewire 2 中有效。
我觉得补水有问题
感谢您的帮助。
// livewire class
public $accountForm = [
'name' => '',
'phone' => '',
];
public $isChecked = false;
public function updatedAccountForm()
{
$this->isChecked = true;
// dd($this->isChecked); // verified if update works
}
// blade view
<input id="name" type="text" name="name" wire:model.live.debounce.500ms="accountForm.name" />
<input id="phone" type="text" name="phone" wire:model.live.debounce.500ms="accountForm.phone" />
{{-- this checkbox is not checked after a change in class, i trying wire:model or wire:model.live --}}
<label for="updateAccount">Update account</label><input id="updateAccount" wire:model.live="updateAccount" type="checkbox" name="updateAccount" />
{{-- property value verification --}}
{{ $isChecked }}
我在stackoverflow、laracast等上寻找解决方案,但没有成功。
复选框的 wire:model 必须设置为 isChecked 而不是 updateAccount ,后者是在 $account 属性更新后调用的方法:
<input type="checkbox"
wire:model.live="isChecked"
>