各位大神有没有遇到这个问题,Livewire无法传递隐藏表单的值?

livewire和alpinejs结合使用的一段代码。input表单拿不到值

组件视图代码,一个普通的表单,livewire和alpinejs结合:

<div x-data="{
tagItems: [1,2],  //这里的值只是做个示范,在实际场景中,这里的值是动态从其他地方获取的。
}">
         <form wire:submit.prevent="save">
              <input type="hidden" :value="tagItems" wire:model="tagItems">  //这个值是x-data里面的值
              <button class="button button-primary" type="submit">提交信息</button>
         </form>
</div>

组件方法:

class PostModal extends Component
{
    public $tagItems;
    public function save()
    {
        dd($this->tagItems);
    }
}

save()里打印$this->tagItems,值是null
但是我如果将input的类型改为text,手动输入值,就可以打印出来。是什么问题呢?

乌鸦嘴社区 wyz.xyz 来玩。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
running8
最佳答案

这个问题我好像也遇到过,特别是想用js改变隐藏表单的值的时候好像不生效。只好提交的时候 $wire.set('property', value, true)

2年前 评论
讨论数量: 2
running8

这个问题我好像也遇到过,特别是想用js改变隐藏表单的值的时候好像不生效。只好提交的时候 $wire.set('property', value, true)

2年前 评论

试下初始化?

class PostModal extends Component
{
    public $tagItems;

    public function mount()
    {
        $this->tagItems = [1,2];
    }
   ···
}
不再用 value 赋值
<input type="hidden" wire:model="tagItems"> 
2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!