Интегрируя CKEditor в PCF, я хочу получить и установить данные CKEditor

Я делаю элемент управления PCF и включаю в него CKEditor. Я создаю тег скрипта в своем init() и устанавливаю src на CDN CKEditor. Я использую HTML TextArea и заменяю его на CKEditor (устанавливая класс на CKEditor).

В моем getOutputs а также updateView(), Я не могу вернуть или установить значение этого 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);
    }

0 ответов

Другие вопросы по тегам