Laravel 8 组件@props 指令不起作用

问题描述

错误异常 未定义变量:标签(视图:resources/views/components/forms/select.blade.PHP

我该如何解决这个问题? 我尽一切努力解决这个问题,但我找不到解决方案。我已经解决这个问题 5 天了!

我将 Laravel 7 升级到 8。

现在 Laravel: v8.26.1

<x-forms.select name="subject" label="Subjects" value="test">
    @foreach($user->subjects as $subject)
        <option value="{{$subject->id}}">{{$subject->name}}</option>
    @endforeach
</x-forms.select>
// app/View/Components/Forms/Select.PHP

<?PHP

namespace App\View\Components\Forms;

use Illuminate\View\Component;

class Select extends Component
{
  
    public function render()
    {
        return view('components.forms.select');
    }
}
// resources/views/components/forms/select.blade.PHP

@props(['label'])
{{$label}}

<label class="form-label">{{ $attributes->get('label') }}</label>

<select class="form-select" aria-label="Default select" {{$attributes}}>
    {{ $slot }}
</select>

Laravel 8 组件 @props 指令不起作用:

image

解决方法

谢谢你,泰勒奥特威尔

@props 仅用于没有类的匿名组件。如果您正在使用类,请参阅此文档:Passing Data To Components | Laravel