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

使用<livewire>元素向Livewire组件传数组失败,Blade指令可正常传值

Livewire标签传递数组参数的解决办法

错误原因分析

  • 直接使用classes="{{ $classes }}"时,Blade会尝试将数组$classes转换为字符串输出,触发htmlspecialchars()错误——因为该函数仅接受字符串类型参数,无法处理数组。
  • 错误添加冒号加引号的写法(如:classes="{{ $classes }}")会导致语法冲突,因为冒号前缀后应直接跟PHP表达式,无需额外包裹{{ }}和引号。

正确写法

在需要传递数组/变量的属性前添加冒号:,并直接使用变量名(不要加引号和{{ }}),让Livewire识别为PHP表达式传递:

<livewire:admin.syllabi
    :page="$page"
    type="syllabus"
    searchFields="title, description"
    :classes="$classes"
/>

补充说明

  • 对于字符串字面量参数(如type、searchFields),直接写字符串值即可,无需冒号;
  • 若需传递构造的数组,也可直接写表达式,例如::filters="['status' => 'published', 'category' => $category]"。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 20:33:17