From fbf0ed926b82104ef680a7c17808d503af9c20d6 Mon Sep 17 00:00:00 2001 From: suxin2017 <1107178482@qq.com> Date: Fri, 29 Jan 2021 20:56:22 +0800 Subject: [PATCH] fix: same-text-no-update --- src/runtime/internal/dev.ts | 9 +++++++-- src/runtime/internal/dom.ts | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/runtime/internal/dev.ts b/src/runtime/internal/dev.ts index cd61ec98d6..bc7f39a8d6 100644 --- a/src/runtime/internal/dev.ts +++ b/src/runtime/internal/dev.ts @@ -73,8 +73,13 @@ export function dataset_dev(node: HTMLElement, property: string, value?: any) { export function set_data_dev(text, data) { data = '' + data; - if (text === data) return; - + // In particular, when the property is contentEditable, ' 'TEXT_NODE is inserted into the text + if (text.textContent === '' && text.wholeText !== '') { + if (text.wholeText === data) return; + } else { + if (text.textContent === data) return; + } + dispatch_dev('SvelteDOMSetData', { node: text, data }); text.data = data; } diff --git a/src/runtime/internal/dom.ts b/src/runtime/internal/dom.ts index 663cc27ca0..8d99234c9d 100644 --- a/src/runtime/internal/dom.ts +++ b/src/runtime/internal/dom.ts @@ -193,7 +193,7 @@ export function claim_space(nodes) { export function set_data(text, data) { data = '' + data; - if (text !== data) text.data = data; + if (text.wholeText !== data) text.data = data; } export function set_input_value(input, value) {