在ckeditor 5中动态更新插件视图

时间:2019-04-08 11:21:26

标签: ckeditor5

我正在使用ckEditor 5。 我的目的是创建一个简单的搜索功能来执行一些ajax调用,允许用户从结果列表中进行选择并采取相应的措施(插入链接,图像或媒体...)。

问题是我想动态更新插件视图。类似于以下内容:https://github.com/ckeditor/ckeditor5/issues/520,但我使用的是工具栏中的下拉菜单(我从EmbedMedia插件开始,现在不太在意设计)。 我在他们的git(https://github.com/ckeditor/ckeditor5/issues/1681)上问了同样的问题

我的模板就像:

content.scrollIntoView({behaviour: "smooth"});

我能够得到

this

搜索后,我的预期结果是

this

最后选择结果。

当前,我可以通过console.log看到正确初始化和更新的对象,但是视图没有更新...与第一个图像一样,它保持空白(这就是为什么我认为必须有某些东西应该能够放在我写 this.setTemplate( { tag: 'form', attributes: { class: [ 'ck', 'ck-results-form' ], tabindex: '-1' }, children: [ this.searchInputView, this.searchButtonView, { tag: 'div', attributes: { class: [ 'ck-result-grid' ] }, children: this.items }, this.saveButtonView, this.cancelButtonView, ] } ); // updateList method is like this: updateList( valuesArray ) { console.log(this.items); this.items = new Array(); console.log(this.items); for (let i = 0; i < valuesArray.length && i < 20; i++) { const urlView = new TableSizeGridBoxView(i, valuesArray[i]); urlView.on('select-url', () => { this._selectedUrl = valuesArray[i]; }); this.items.push( urlView ); } console.log(this.items); //do something here to force refresh or render the section } 的地方。

此外,我可以说//do something here to force refresh or render the section正常工作,因为如果在视图的初始化中调用for循环,则可以显示任意值。

0 个答案:

没有答案