曾小咸oh 2025-01-17 10:30 采纳率: 85.7%
浏览 16
已结题

React项目里富文本自定义媒体问题

React 项目里 是有富文本
import BraftEditor from 'braft-editor';
import { ContentUtils } from 'braft-utils';
自定义图片插入 调用ContentUtils.insertMedias 第二个参数 数组对象传多个属性保存时 富文本里的img标签没加上name属性 为什么呢
我看源码里包含name属性
依赖版本:
"braft-editor": "2.3.9",
"braft-utils": "3.0.12",

img

知道的朋友指点一下

img

  • 写回答

3条回答 默认 最新

  • 关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    根据你的描述和代码片段,我理解你想要在插入媒体时(例如插入图片)向富文本编辑器中的img标签添加name属性。你提到你已经尝试使用ContentUtils.insertMedias方法,并且看到源码中包含name属性,但是在实际使用时却发现富文本里的img标签没有name属性。这可能是由于以下几个原因导致的:

    1. 版本差异: 你提供的版本信息是两个库的特定版本,有可能在你使用的版本之后库已经被更新或修复了一些内容。查看是否有更新的版本或者查看更新日志以确认是否有关于此问题的修复。
    2. 参数配置问题: 在调用insertMedias方法时,确保你正确地传递了包含name属性的媒体对象。从你提供的代码片段来看,似乎是在使用这个函数时有一些格式或语法错误。请确保你的媒体对象格式正确,并且确实包含了name属性。
    3. 库内部实现问题: 如果以上都没有问题,那么可能是库内部实现的问题。你可以尝试查看该库的源代码,了解在插入媒体时的具体实现过程,看看是否有地方导致name属性没有被正确设置。你也可以尝试联系库的维护者以获取帮助。

    关于你的代码片段,看起来有一些重复内容和不完整的地方,这可能导致代码执行时出现问题。你需要确保在调用函数和传递参数时遵循正确的格式和语法。以下是一个简化并包含name属性的示例代码:

    const handleImgSubmit = (params) => {
      console.log(params);
      if (mediaType === 'img') {
        setImg(params.pictureUrl);
        setImgId(params.id);
        setFieldsValue({ img: params.pictureUrl });
      } else if (mediaType === 'introduce') {
        const editor = ContentUtils.insertMedias(introduce, [{
          type: 'IMAGE',
          name: params.id, // 确保这里传递了正确的name属性值
          url: params.pictureUrl,
          // 其他必要的属性...
        }]);
        setIntroduce(editor); // 确保这里正确更新了编辑器的内容
      }
    };
    

    请确保你的代码逻辑正确,并且遵循库的用法和文档。如果问题仍然存在,建议查看库的源代码或联系库的维护者以获取帮助。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月25日
  • 已采纳回答 6月17日
  • 创建了问题 1月17日