繁体   English   中英

如何使用 laravel-livewire 对 2 个输入值求和

[英]How can i sum 2 input values using laravel-livewire

我想总结2个值。

我的 livewire 刀片代码:

<label>Sayı 1:</label>
<input type="text" id="a" name="a" wire:model.lazy="a">
<br>

<label>Sayı 2:</label>
<input type="text" id="b" name="b" wire:model.lazy="b">
<br>
Sonuç : {{ $result}}

在 livewire 文件中

public $result;
public $a;
public $b;

public function render()
{   
   $this->result=$this->a+$this->b;
    return view('livewire.try1');
}

我在我的页面上看不到结果。

我改变$this->result=$this->a+$this->b; 行到$this->result=a+b; 它显示了undefined variable $a

我打开了调试栏 a 和 b 为空。

所以我无法让它工作。

首先,你的 Livewire 视图应该总是包裹在一个 div 中,有点像这样,

<div>
    <label>Sayı 1:</label>
    <input type="text" id="a" name="a" wire:model.lazy="a">

    <br>
    <label>Sayı 2:</label>
    <input type="text" id="b" name="b" wire:model.lazy="b">
    
    <br>
    Sonuç : {{ $result }}
</div>

然后我建议您使用生命周期挂钩进行更新以维护结果,

public $result;
public $a;
public $b;

public function updated()
{
    $this->result = ($this->a ?? 0) + ($this->b ?? 0);
}

public function render()
{
    return view('livewire.try1');
}

此外,由于您的绑定上有lazy修饰符,请注意它不会更新,直到您点击离开输入,请参阅https://laravel-livewire.com/docs/2.x/properties#lazy-updating

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM