首页 > 解决方案 > 直到并且除非在摩纳哥编辑器中点击最后一行,否则不会触发任何事件

问题描述

我面临一个奇怪的问题。我正在通过自动建议设置方法,例如:

CONCATENATE(n)|

我的光标在 . 之后的括号内显示它n。喜欢

在此处输入图像描述

现在我通过替换n一些值开始再次输入,这些值也假设开始显示auto-suggestion与这些字符相关的值。但除非我最后点击它,否则它不起作用。然后我再次回到括号内并开始打字。它开始填充自动建议。

我试图调试库,我发现更改事件在我最后点击外部之前不起作用。

那么,有什么方法可以处理它,或者我们可以在配置中添加任何东西来使它工作吗?

monaco.languages.registerCompletionItemProvider(customLanguageConfig.id, {
provideCompletionItems: (model, position) => {
    const word = model.getWordUntilPosition(position);
    const messageId = 'messageId-' + currentMessageId++;
    window.parent.postMessage({
        message: _monacoId + "-provide-completion-items",
        value: {
            messageId: messageId,
            textUntilPosition: model.getValueInRange({
                startLineNumber: 1,
                startColumn: 1,
                endLineNumber: position.lineNumber,
                endColumn: position.column
            }),
            range: {
                startLineNumber: position.lineNumber,
                endLineNumber: position.lineNumber,
                startColumn: word.startColumn,
                endColumn: word.endColumn-1
            }
        }
    }, "*");
    const promise = new Promise((resolve, reject) => {
        mapOfCompletionRequests[messageId] = resolve;
    });
    return promise;
}
});

标签: javascriptmonaco-editorlwc

解决方案


推荐阅读