使用 wire:click 或 alpine js 设置 wire:model 值?

Setting wire:model value with wire:click or alpine js?

我正在尝试创建一个自定义下拉菜单以使用 alpinejs 更改按钮的图标,因为我不能使用默认的图标或样式 select and options html

这是更新图标的 livewire 代码

public function updateTagIcon($id,$value)
    {
        $this->icon = $value;

        $this->validate([
            'icon' => 'required',
        ]);

        $this->tag->update(['icon' => $this->icon]);

        $this->tag=Tag::find($this->tag->id);

    }

有什么方法可以 @click 使用 alpineJS 来设置 $value=1 并将其传递给 livewire?

或者也许可以通过 wire:click 任意设置此数据?

<div wire:click="updateTagIcon({{$tag->id}},'{{$value=2}}')">
  <button type="button">
     <svg> //</svg>       
     {{$tag->title}}           
  </button>   
</div>

正在考虑是否可以使用 alpine @click 发出一个事件,但仍然不确定我将如何传递一个值来更新 livewire 中的 $icon

这是设置值的方法

wire:click="updateTagIcon({{$tag->id}},7)"

livewire 函数看起来像

public function updateTagIcon($id,$icon)
    {
        $this->icon = $icon;
    
        $this->validate([
            'icon' => 'required',
        ]);

        $this->tag->update(['icon' => $this->icon]);

        $this->tag=Tag::find($this->tag->id);

    }