Laravel Blade组件props默认值修改不生效 color_id传参失效问题
问题原因
Laravel Blade 组件存在属性命名转换规则:HTML 本身不区分属性大小写,也不会自动识别下划线分隔的属性名,所有多单词命名的组件prop,在调用时必须统一使用**短横线分隔(kebab-case)**的格式传值,Laravel 会自动将传入的 kebab-case 属性转换为对应蛇形/驼峰命名的 prop 变量。
你定义的prop是蛇形命名color_id,但调用时直接写了color_id="1",不符合转换规则,因此框架无法识别该传值,自动使用了默认值3;而name是单单词prop,不需要做格式转换,因此传值正常生效。
解决方案
将组件调用代码中的color_id改为color-id即可:
<x-button.kanban-tag name="{{$tag->title}}" color-id="1"/>
如果修改后仍然不生效,可以执行以下命令清理视图缓存:
php artisan view:clear
内容的提问来源于stack exchange,提问作者Jakub
相关产品推荐
相关产品推荐

