Laravel Backpack 同一个自定义 field 组件在单页内多次出现的处理

发布时间: 2018-02-27 11:07:57 作者: 大象笔记

Bug 描述

之前写了个自定义的 summernote 富文本框组件,可以将插入图片自动同步到七牛 CDN。

但是,如果页面中使用了两个该组件,第二个文本框插入的图片都会插入到第一个中。。。

问题产生的原因是,使用的是 class 选择器,都选择了 .summernote

解决方法

解决思路非常简单,为每个组件定义不同的 ID。

令人浑身发痒的地方是,需要在 js 里嵌入 PHP 代码

HTML 部分

<textarea
    id="summernote_{{ $field['name'] }}"
  name="{{ $field['name'] }}"
  @include('crud::inc.field_attributes', ['default_class' =>  'form-control summernote'])
...

HTML 中的 js 部分

$("#summernote_{{ $field['name'] }}").summernote({
  lang: 'zh-CN',
  height: 600,
  callbacks: {
...
```
我是一名山东烟台的开发者,联系作者