微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何在 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 举报,一经查实,本站将立刻删除。