如何使用 livewire 和复选框切换布尔值

时间:2021-06-20 00:32:10

标签: php laravel laravel-livewire

我正在尝试使用复选框创建此过滤器。

我正在尝试将复选框的状态切换为真或假

<x-input.checkbox wire:click="$toggle(free_trial)"/>
    public $free_trial = false;
    public $free_forever = false;
    public $pay_per_user = false;
    public $progressive = false;

当我使用这种方法时,我不确定如何使逆向工作,因此如果未选中它,它将是错误的。有没有办法向其中添加一些内容,因此如果再次单击它会将其更改为 false?

<x-input.checkbox wire:click="$set('free_trial','true')"/>

非常感谢任何帮助:)

1 个答案:

答案 0 :(得分:1)

<x-input.checkbox wire:click="$set('free_trial',{{ $free_trial ? 'false' : 'true' }})"/>

我更喜欢在后端方法中开发这种登录方式。

<x-input.checkbox wire:click="toggleProperties('free_trial')"/>

public function toggleProperties($property)
{
   if($property == 'free_trial')
      $this->free_trial = !$this->free_trial;
   elseif(...) //.....
}