Vanessa 3 years ago
parent
commit
e755d8ecc6
4 changed files with 14 additions and 0 deletions
  1. 1 0
      CHANGELOG.md
  2. 5 0
      src/ts/ir/index.ts
  3. 6 0
      src/ts/sv/index.ts
  4. 2 0
      src/ts/wysiwyg/index.ts

+ 1 - 0
CHANGELOG.md

@@ -97,6 +97,7 @@
 
 ### v3.8.13 / 2022-04
 
+* [1178](https://github.com/Vanessa219/vditor/issues/1198) 调用 insertValue 后第一次用户输入没有触发 input 回调函数 `修复缺陷`
 * [1179](https://github.com/Vanessa219/vditor/pull/1179) 更新代码风格工具&包管理工具 `开发重构`
 
 ### v3.8.12 / 2022-03-03

+ 5 - 0
src/ts/ir/index.ts

@@ -92,6 +92,11 @@ class IR {
             }
             if (this.preventInput) {
                 this.preventInput = false;
+                processAfterRender(vditor, {
+                  enableAddUndoStack: true,
+                  enableHint: true,
+                  enableInput: true,
+                });
                 return;
             }
             if (this.composingLock || event.data === "‘" || event.data === "“" || event.data === "《") {

+ 6 - 0
src/ts/sv/index.ts

@@ -11,6 +11,7 @@ import {
 import {paste} from "../util/fixBrowserBehavior";
 import {getSelectText} from "../util/getSelectText";
 import {inputEvent} from "./inputEvent";
+import {processAfterRender} from "./process";
 
 class Editor {
     public range: Range;
@@ -91,6 +92,11 @@ class Editor {
             }
             if (this.preventInput) {
                 this.preventInput = false;
+                processAfterRender(vditor, {
+                  enableAddUndoStack: true,
+                  enableHint: true,
+                  enableInput: true,
+                });
                 return;
             }
             inputEvent(vditor, event);

+ 2 - 0
src/ts/wysiwyg/index.ts

@@ -335,9 +335,11 @@ class WYSIWYG {
             }
             if (this.preventInput) {
                 this.preventInput = false;
+                afterRenderEvent(vditor);
                 return;
             }
             if (this.composingLock || event.data === "‘" || event.data === "“" || event.data === "《") {
+                afterRenderEvent(vditor);
                 return;
             }
             const range = getSelection().getRangeAt(0);