如何在 CKEditor 5 插件中更改 DropdownView 的内容?

问题描述

我在使用 createLabeledDropdown 创建的 ContextualBalloon 中有一个 DropdownView。

const labeledInput = new LabeledFieldView(this.locale,createLabeledDropdown);

初始内容设置使用addListToDropdown

addListToDropdown(labeledInput.fieldView,this.data_source[0]);

我有一个监听数据模型更改的监听器,我想更改下拉列表的内容

this.command.on('change:value',evt => {
    if(evt.source.value) {
        addListToDropdown(labeledInput.fieldView,this.data_source[evt.source.value]); //How can I achieve this?
    }
});

如果我将 labledInput.fieldView.panelView.children内容记录到控制台,我可以看到实际模型确实发生了变化,但是 DOM 和实际显示的下拉列表没有发生变化。

更改现有 DropdownView 内容的正确方法是什么?

更新

我找到了一种方法来完成此操作,如果我清除 panelView 的子项,然后再次调用 addListToDropdown

labeledInput.fieldView.panelView.children.clear();
addListToDropdown(labeledInput.fieldView,this.data_source[evt.source.value]);

我不知道这是否是实现这一目标的正确方式。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)