Laravel Livewire:在更改选择输入时传递选项值
我正试图将Laravel Livewire:在更改选择输入时传递选项值,laravel,laravel-8,laravel-livewire,Laravel,Laravel 8,Laravel Livewire,我正试图将输入的中的值传递到我的livewire控制器组件,并回显该值 Livewire刀片视图组件: {!! Form::select('goals',$goals_plucked,null,[ 'placeholder' => trans('classes.backend.forms.select_goals'), 'class' => 'custom-select', 'id' => 'goals', 'wire:change' =>
输入的
中的值传递到我的livewire控制器组件,并回显该值
Livewire刀片视图组件:
{!! Form::select('goals',$goals_plucked,null,[
'placeholder' => trans('classes.backend.forms.select_goals'),
'class' => 'custom-select',
'id' => 'goals',
'wire:change' => "goals(this.val)",
]) !!}
<select wire:model="goal" name="goal" class="form-control" required>
<option value="">
{!! trans('classes.backend.forms.select_goals') !!}
</option>
@foreach ($goals as $goal)
<option value="{{ $goal->id }}">{{ $goal->goals }}</option>
@endforeach
</select>
这是我的Livewire控制器组件中的null输出
Livewire控制器组件
public $goals;
public function goals($goals)
{
dd($goals);
}
public $goals;
public $goal;
public function mount()
{
$this->goals = Goals::all()->isActive();
}
public function updatedGoal($value)
{
dd($value);
}
看了一些教程之后。我还尝试使用'wire:change'=>“goals($event.target.value)”,
这给了我一个未定义变量$event的错误,显然是因为它没有在主控制器中定义。我不确定我在这里做错了什么
我要做的是:尝试创建一个流,就像选择国家,然后选择州,然后选择城市一样。通过livewire。在选择国家/地区之前,选择州和城市的输入将不可见只需在前端指定wire:model=“variable_name”进行选择
在livewire控制器中,应该有一个同名的公共变量。它将在选择值更改时自动获取值
下面是同样的例子
<select class="custom-select border-0 shadow-none" id="enquiry_for" wire:model="enquiry_for">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
选择1
选择2
选择3
我尝试了下面的代码,效果很好。我只需要确保使用普通的html表单输入,并通过foreach循环动态添加选项。还使用mount()
函数获取选择下拉列表的值和id
Livewire刀片视图组件:
{!! Form::select('goals',$goals_plucked,null,[
'placeholder' => trans('classes.backend.forms.select_goals'),
'class' => 'custom-select',
'id' => 'goals',
'wire:change' => "goals(this.val)",
]) !!}
<select wire:model="goal" name="goal" class="form-control" required>
<option value="">
{!! trans('classes.backend.forms.select_goals') !!}
</option>
@foreach ($goals as $goal)
<option value="{{ $goal->id }}">{{ $goal->goals }}</option>
@endforeach
</select>
我尝试了
'wire:model'=>“goals”,
&'wire:model'=>$goals,
但是什么也没有发生,我也尝试了放置'wire:model'=>“$goals”,
这给了我一个错误在组件上找不到属性[$]
是livewire视图中的选择吗?是的,选择在livewire视图中的“wire:model'=>“goals”。如果您收到一个带有$的错误,则表示绑定正在工作。因此,您需要使用正确的语法进行编写attr@HardikSisodia你是在用单引号写wire:model吗。如果是,请将其移除。