You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 10复选框组件出现unexpected end of file语法错误求助

Laravel 10 动态设置复选框组件checked属性的语法错误解决

错误原因

你直接在组件标签中使用{{ old('is_enabled') ? 'checked' : '' }}输出HTML属性的写法,不符合Laravel Blade组件的属性解析规则。Blade会将这种写法误判为组件props的绑定逻辑,进而引发语法解析异常,导致出现unexpected token "endif"错误。

解决方法

你的复选框组件已经定义了checked props,直接通过属性绑定语法传递状态即可,无需手动输出checked字符串:

修改组件调用代码

<div>
  <x-checkbox-input id="is_enabled" name="is_enabled" value="1" :checked="old('is_enabled')">
    <label for="is_enabled" class="font-medium text-gray-900">Enabled</label>
    <p class="text-gray-500">Toggle the enabled state</p>
  </x-checkbox-input>
  <x-input-error class="mt-2" :messages="$errors->get('is_enabled')" />
</div>

说明

  • 使用:checked(冒号开头)是Blade的属性绑定语法,它会将old('is_enabled')的返回值作为checked props传递给组件。
  • 组件内部已经通过{{ $checked ? 'checked' : '' }}处理了checked属性的渲染逻辑,无需额外修改组件代码。

如果需要支持默认勾选状态(比如从数据库读取的值),可以结合old()和默认值:

:checked="old('is_enabled', $model?->is_enabled)"

内容的提问来源于stack exchange,提问作者Ryan H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 22:11:19