mirror of
https://github.com/pipipi-pikachu/PPTist.git
synced 2025-04-15 02:20:00 +08:00
perf: 文本框交互优化
点击或移动文本框时,立即同步样式面板文本属性
This commit is contained in:
parent
1c40f578df
commit
70743c6587
@ -2,6 +2,7 @@ import mitt, { type Emitter } from 'mitt'
|
||||
|
||||
export const enum EmitterEvents {
|
||||
RICH_TEXT_COMMAND = 'RICH_TEXT_COMMAND',
|
||||
SYNC_RICH_TEXT_ATTRS_TO_STORE = 'SYNC_RICH_TEXT_ATTRS_TO_STORE',
|
||||
OPEN_CHART_DATA_EDITOR = 'OPEN_CHART_DATA_EDITOR',
|
||||
OPEN_LATEX_EDITOR = 'OPEN_LATEX_EDITOR',
|
||||
}
|
||||
@ -18,6 +19,7 @@ export interface RichTextCommand {
|
||||
|
||||
type Events = {
|
||||
[EmitterEvents.RICH_TEXT_COMMAND]: RichTextCommand
|
||||
[EmitterEvents.SYNC_RICH_TEXT_ATTRS_TO_STORE]: void
|
||||
[EmitterEvents.OPEN_CHART_DATA_EDITOR]: void
|
||||
[EmitterEvents.OPEN_LATEX_EDITOR]: void
|
||||
}
|
||||
|
@ -457,6 +457,7 @@ watch(handleElement, () => {
|
||||
lineHeight.value = handleElement.value.lineHeight || 1.5
|
||||
wordSpace.value = handleElement.value.wordSpace || 0
|
||||
paragraphSpace.value = handleElement.value.paragraphSpace === undefined ? 5 : handleElement.value.paragraphSpace
|
||||
emitter.emit(EmitterEvents.SYNC_RICH_TEXT_ATTRS_TO_STORE)
|
||||
}, { deep: true, immediate: true })
|
||||
|
||||
const fontSizeOptions = [
|
||||
|
@ -262,9 +262,16 @@ onUnmounted(() => {
|
||||
editorView && editorView.destroy()
|
||||
})
|
||||
|
||||
const syncAttrsToStore = () => {
|
||||
if (handleElementId.value !== props.elementId) return
|
||||
handleClick()
|
||||
}
|
||||
|
||||
emitter.on(EmitterEvents.RICH_TEXT_COMMAND, execCommand)
|
||||
emitter.on(EmitterEvents.SYNC_RICH_TEXT_ATTRS_TO_STORE, syncAttrsToStore)
|
||||
onUnmounted(() => {
|
||||
emitter.off(EmitterEvents.RICH_TEXT_COMMAND, execCommand)
|
||||
emitter.off(EmitterEvents.SYNC_RICH_TEXT_ATTRS_TO_STORE, syncAttrsToStore)
|
||||
})
|
||||
</script>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user