首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel-livewire多select2

Laravel-livewire多select2
EN

Stack Overflow用户
提问于 2021-09-15 14:09:47
回答 1查看 708关注 0票数 0

我已经开始使用Laravel-Livewire,并在其中一个组件中添加了Select2选择框库。

问题是,该组件有多个选项卡,当我使用Select2输入在选项卡上加载该组件时,一切都很正常:

但是,如果我在其他选项卡上加载组件,或者甚至更改选项卡并返回到此选项卡,则Select2不会正确加载并返回到常规的多选项:

我正在layout上加载CSS和JS文件,所以每次我获得这个组件时都会加载它们。

我甚至将这个脚本添加到了组件中

代码语言:javascript
复制
<script>
   $('.select2').select2();
</script>

以强制此输入为select2,但即使此脚本也不起作用。

EN

回答 1

Stack Overflow用户

发布于 2021-09-15 15:34:34

尝尝这个

代码语言:javascript
复制
// in component
protected $listeners = [
  'selectedItem'
];

public function hydrate()
{
   $this->emit('loadSelect2Hydrate');
} 

public function selectedItem($value)
{
   dd($value);
}

// in blade script section
<script>
  window.loadSelect2 = () => {
   $('.select2').select2().on('change',function () {
     livewire.emitTo('name-component','selectedItem',$(this).val());

     // or

     // @this.set('propertyName',$(this).val());
   });
  }
  loadSelect2();
  window.livewire.on('loadSelect2Hydrate',()=>{
     loadSelect2();
  });
</script>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69194769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档