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

如何用单行代码插入Laravel Blade模板的表格元素?

问题原因

你在子视图中使用了@section + @show的写法,Laravel的@section是全局作用域的,首次定义完成后,后续重复引入同一个包含@section的视图时,不会重新渲染section内容,因此两次@include调用都会输出第一次渲染的结果。
另外你原有代码里name={{$name}}没有加引号,建议补充上引号,避免参数带空格时出现HTML结构错误。


解决方案1(最简修改)

直接删掉子视图中的@section和@show包裹即可,你这个场景不需要用到section功能,子视图内容可以直接输出:
util/insert.blade.php修改后代码:

<tr>
    <th>
        {{ $th }}
    </th>
    <td>
        <input type="text" name="{{ $name }}" value="{{ $val }}">
    </td>
</tr>

main.blade.php的代码不需要做任何修改,直接运行即可得到预期的两个不同的表格行。


解决方案2(更规范的组件化写法)

如果使用的是Laravel 8及以上版本,更推荐用Blade匿名组件实现这类可复用元素,可维护性更高:

  1. 新建resources/views/components/table-input-row.blade.php文件,写入上面的表格行代码
  2. 在main.blade.php中直接用标签语法调用即可:
<table class="table">
  <x-table-input-row th="th1" name="name1" val="val1" />
  <x-table-input-row th="th2" name="name2" val="val2" />
</table>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:15:08