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

更新日期: 2018-02-27 阅读次数: 2994 分类: Laravel

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: {
...
```

爱评论不评论

近期节日

2020年04月11日 世界帕金森病日
2020年04月19日 谷雨
2020年04月21日 复活节
2020年04月22日 世界地球日
2020年04月23日 世界读书日
2020年04月26日 知识产权日
2020年04月30日 佛诞
2020年04月30日 全国交通安全反思日
2020年05月01日 国际劳动节
2020年05月04日 五四青年节
2020年05月05日 立夏
2020年05月08日 世界红十字日
查看更多节日