Laravel Livewire 在函数更新时不会忘记数组项值计算

问题描述 投票:0回答:1
laravel laravel-livewire livewires livewire-3
1个回答
0
投票

son中的上下文完全清晰,因为我们看不到类和视图的相关部分,所以我会尝试推断一些元素。

productOptionPriceId 必须是一个数组,其中包含所选复选框的所有 ids 并初始化为空:

public array $this->productOptionPriceId = [];

考虑到这一点,我们可以像这样更改代码:

public function _updated()
{
    $basePrice = (float)$this->basePrice;
    $selectedSizePrice = (float)$this->selectedSizePrice;

    if ($this->productSizeId > 0) {
        $model = ProductSize::select('price')->findOrFail($this->productSizeId);
        $this->selectedSizePrice = number_format($model->price, 2);
    }

    $selectedOptionPrice = ProductOption::whereIn('id', $this->productOptionPriceId)->sum('price');

    $this->totalPrice = $basePrice + $selectedSizePrice + $selectedOptionPrice;
}
© www.soinside.com 2019 - 2024. All rights reserved.