Fix SSR receiving value update cause other inputs to lose focus #247
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Change
This PR will check if there is a range selected in quill and call it only when necessary.
Expected behaviour
Updating value of the editor should not blur other input fields
Current behaviour
When the SSR version of
vue-quill-editor
receive an updated value it will attempt to restore theselection
within the text field.https://github.com/surmon-china/vue-quill-editor/blob/02c1741/src/ssr.js#L134-L141
However,
quill.setSelection(range)
is called even whenvue-quill-editor
is not focused. This usually cause the variablerange
to benull
. Thus,setSelection(null)
will cause quill to clear all selection instead (edit: Including all inputs fields within the page) See: https://github.com/quilljs/quill/blob/16d4130a75d7bc2bfb7315694e69d1e08f764641/core/selection.js#L339Example: https://codepen.io/amoshydra/pen/ZjYbRa
quill.setSelection(null)
is called the input field lose selection and lose focus