laravel - Livewire 魔术动作不起作用 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;
}
这是一个火线组件,它有一个选择输入,我在更改选择时需要selectOrder
使用所选值执行函数,我使用$event
魔术动作,但出现以下错误。
解决方案
这$event
是 Alpine.js 的神奇属性。所以解决它的一种方法是使用调用 Livewire 方法的 Alpine.js 事件监听器。
<select x-on:change="$wire.selectOrder($event.target.value)">
也就是说,您可以使用 Livewire 类中的属性,并将选择绑定到模型,
<select wire:model="orderValue">
然后在组件中监听那个变化。
public $orderValue;
// ...
public function updated($field, $value)
{
if ($field === 'orderValue') {
$this->selectOrder($value);
}
}
推荐阅读
- c# - 为什么在 Visual Studio 2019 中发布时出现 Build 错误
- javascript - 将 UTM 参数附加到我当前的 URL
- javascript - 单击提交按钮后如何重置输入值?
- r - 查找每个组内最近的地理点
- django-rest-framework - 从viewsets.ViewSet访问当前用户
- ruby - ruby 包已加载但不起作用
- c++ - c++ Windows 10 获取已连接客户端的 Ip
- python-3.x - 无法从“tensorflow.python.keras.engine”导入名称“network”
- ios - UILabel 文本被推到了边界之外
- python - 从 docker 中的内部工件安装 conda 包