Blazor JSinterop ignoreMethodAsync при событии размытия влияет на поведение компонента jsJavascript

Форум по Javascript
Ответить
Anonymous
 Blazor JSinterop ignoreMethodAsync при событии размытия влияет на поведение компонента js

Сообщение Anonymous »

Я изменил компонент Blazor-JS на основе QuillJs, чтобы включить двустороннюю привязку текстового редактора к свойству blazor/c#.
Я сделал это, добавив прослушиватель событий «blur» и вызвав метод C# из js:
Весь исходный код здесь:
https://github.com/gismofx/TextEditor/b ... ill.js#L40

Код: Выделить всё

//On Blur - we update the object in dotnet
quillElement.__quill.editor.scroll.domNode.addEventListener('blur',
() => {
if (quillElement.__quill.options.debug === "info") {
console.log('info: Quill Editor blur event for ' + quillElement.id);
}
QuillFunctions.dotNetRefs.get(quillElement.id).invokeMethodAsync('DeltaChanged', QuillFunctions.getQuillContent(quillElement));
}
);
Двусторонняя привязка работает нормально.
Проблема:
При взаимодействии с панелью инструментов quill, например чтобы изменить формат выделенного текста, курсор переходит в начало текста, и его форматирование не применяется. Если вы повторите, форматирование будет применено. Это происходит каждый раз.
Смотрите запись странного поведения:
Изображение

Если я удалю вызов ignoreMethodAsync, он восстановит правильную функциональность и форматирование будет применено. правильно.
Есть ли другое событие или другой способ сохранить привязку и не влиять на функциональность пера?

Подробнее здесь: https://stackoverflow.com/questions/797 ... nent-behav
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»