Livewire magic actions not working Uncaught ReferenceError: $event is not defined

Livewire magic actions not working Uncaught ReferenceError: $event is not defined

<div class="row">
    <div class="col">
        <div class="container">
            <div class="card">
                <div class="card-body">
                    <div class="row">
                        <div class="col">
                            <div class="mb-5">
                                <label class="form-label">Order: </label>
                                <select wire:change="selectOrder($event.target.value)">
                                    @foreach($orders as $option)
                                        <option value="{{$option['id']}}">{{$option['id']}}</option>
                                    @endforeach
                                </select>
                            </div>

                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
public function selectOrder($order)
{
    $this->order = $order;
    $this->products = $this->order->products;
}

这是一个火线组件,它有一个 select 输入,我需要在更改 select 时使用 select 值执行函数 selectOrder,我使用 $event 魔术操作但出现以下错误。

$event就是Alpine.js魔法属性。 所以解决它的一种方法是使用 Alpine.js 事件侦听器,它调用 Livewire 方法。

<select x-on:change="$wire.selectOrder($event.target.value)">

也就是说,您可以在 Livewire class 中使用 属性,并将 select 绑定到模型,

<select wire:model="orderValue">

然后在组件中监听那个变化。

public $orderValue;

// ...

public function updated($field, $value)
{
    if ($field === 'orderValue') {
        $this->selectOrder($value);
    }
}