问题 #2226💬 已回答提出于 2019年8月28日作者 tliscomb1 个反应

在初始化后更新组件类型特征定义

快速解答作者 pouyamiralayi1

你好!你必须为文件属性附加一个监听器,所以每当它变成新的值(file)时, 你的听众会把它附加在选项的末尾: 注意 我正在听selected-src本身的变更,针对你的情况,你必须听与文件相关的属性。 注意 我看到你在 select-src 特质定义中没有指定 changeProp。如果这是有意为之,那么你处理的是组件和监听器附加的一个属性,通常是这样的: ` init() { this.listenTo(this.model, 'change:attributes:selected-src', this.doStuff)} ` 干杯。

阅读下方完整回答 ↓

问题

我创建了一个自定义组件和块,用于显示/嵌入上传的文件。 我为该组件定义了特征,见下文。当新文件上传时,我需要更新 select-src 特性的选项,这样用户才能在设置面板中选择要显示的文件。 任何帮助都将不胜感激。

回答(2)

pouyamiralayi2019年8月29日

你好!你必须为文件属性附加一个监听器,所以每当它变成新的值(file)时, 你的听众会把它附加在选项的末尾: 注意 我正在听selected-src本身的变更,针对你的情况,你必须听与文件相关的属性。 注意 我看到你在 select-src 特质定义中没有指定 changeProp。如果这是有意为之,那么你处理的是组件和监听器附加的一个属性,通常是这样的: ` init() { this.listenTo(this.model, 'change:attributes:selected-src', this.doStuff)} ` 干杯。

artf2019年9月4日

是的,@pouyamiralayi提出的关键部分在这里 “''js const trait = this.model.getTrait('selected-src') const traitOptions = [{name: 'new file', value: 'new file url'}] trait.set('options', [...trait.get(“options”),...traitOptions]) ``` 这就是运行时如何更新特性(更多内容见此处[这里](https://grapesjs.com/docs/modules/Traits.html#updating-tr...

相关问答

通过相似的问题讨论继续研究。

与此问题匹配的付费插件

根据问题关键词和标签相关性精选,助你更快交付。

查看全部插件

正在加载付费插件推荐……

免费方案

在以下平台查看开源 GrapesJS 插件: GitHub 或在我们的免费目录中快速搜索。

浏览免费插件 →
高级方案

高级插件提供支持、定期更新和生产就绪的功能——为你节省数天的集成工作。

浏览高级插件 →

浏览插件分类

直接跳转到市场上的插件分类页面。