将CKEditor集成到PCF中,我想获取并设置CKEditor数据

问题描述

我正在制作PCF控件,并在其中包含CKEditor。 我在init()中生成脚本标签,并将src设置为CKEditor的CDN。 我正在使用HTML TextArea并将其替换为CKEditor(将类设置为CKEditor)。

在我的getoutputsupdateView()中,我无法返回或设置此CKEditor的值。我为此使用EVAL()无效。

我应该怎么做呢?

为简洁起见,我仅在代码下方发布所需的方法-

    public init(context: ComponentFramework.Context<IInputs>,notifyOutputChanged: () => void,state: ComponentFramework.Dictionary,container:HTMLdivelement)
    {
        this.createHTMLElements(container);
    }

    public updateView(context: ComponentFramework.Context<IInputs>): void
    {
        eval("CKEDITOR.instances['txtCKEditor].setData(" + context.parameters.HTMLContent + ")");
    }

    public getoutputs(): IoUtputs
    {
        return {HTMLContent: eval("CKEDITOR.instances['txtCKEditor'].getData()")};
    }

    private createHTMLElements(container:HTMLdivelement): void
    {
        var scriptElement: HTMLScriptElement;

        scriptElement = document.createElement("script");
        scriptElement.setAttribute("src",this.ckEditorCDN);

        this.textAreaElement = document.createElement("textarea");
        this.textAreaElement.setAttribute("rows","20");
        this.textAreaElement.setAttribute("cols","100");
        this.textAreaElement.setAttribute("class","ckeditor");
        this.textAreaElement.setAttribute("id","txtCKEditor");
        
        container.appendChild(scriptElement);
        container.appendChild(this.textAreaElement);
    }

解决方法

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

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

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