Laravel 9 Blade表格组件数据提前显示问题求助
问题描述
尝试将用户表格转为Laravel Blade组件时,出现数据在表格标签外提前显示的异常。现有代码如下:
表格代码
<table class="table-fixed"> <thead> <tr> <th>User ID</th> <th>Full name</th> <th>Email address</th> </tr> </thead> <tbody> @foreach ($users as $user) <x-user-row :user="$user" /> @endforeach </tbody> </table>
user-row组件代码(user-row.blade.php)
@props(['user']) <tr> <td"><a href="{{url('user', [$user->id]);}}">{{ $user->id}}</a></td> <td">{{ $user->name}}</td> <td">{{ $user->email}}</td> </tr>
异常表现:用户数据未正确渲染在表格<tbody>内部,而是显示在整个表格标签的前方。
问题原因及解决办法
问题出在组件的<td>标签语法错误:所有<td"都多了一个闭合引号,导致HTML解析异常,浏览器无法识别正确的表格结构,进而把内容渲染到表格外部。
修正后的user-row组件代码:
@props(['user']) <tr> <td><a href="{{ url('user', [$user->id]) }}">{{ $user->id }}</a></td> <td>{{ $user->name }}</td> <td>{{ $user->email }}</td> </tr>
同时可去掉url()函数末尾多余的分号,清理标签前后不必要的空格,确保Blade模板渲染出标准的HTML结构。
内容的提问来源于stack exchange,提问作者Raldsanity
相关产品推荐
相关产品推荐

