Skip to content

快速开始 ​

安装 ​

bash
npm install @Chelase/sky-tiptap

如果使用 npm 公共包版本,请改用:

bash
npm install sky-tiptap

基础使用 ​

vue
<script setup>
import { ref } from 'vue'
import { SkyTiptap } from '@Chelase/sky-tiptap'

const editor = ref()
const content = ref('')
</script>

<template>
  <sky-tiptap
    ref="editor"
    v-model="content"
  />
</template>

组件 Props ​

Prop类型默认值说明
modelValueString''双向绑定的内容
themeString'default'主题(default/dark)
showToolbarBooleanfalse是否显示工具栏
placeholderString'输入内容...'空编辑器占位符文本,通过官方 Placeholder 扩展渲染
aiConfigObject{ baseUrl: '', apiKey: '' }AI 内容生成配置

组件事件 ​

事件参数说明
update:modelValueString内容变化时触发
uploadPhotoFile[]选择图片时触发,支持单图和多图
uploadVideoFile[]选择视频时触发,支持单视频和多视频
pasteObject粘贴内容时触发,可拦截图片等文件粘贴
dropObject拖放文件到编辑器时触发
ready-编辑器初始化完成时触发
focus-编辑器获得焦点时触发
blur-编辑器失去焦点时触发
selectionChangeObject选区变化时触发,返回 from、to、text、empty
linkClickObject点击编辑器内链接时触发,可拦截默认跳转行为
beforeChangeObject内容即将变化时触发,可阻止本次内容变更

调用组件方法 ​

vue
<script setup>
import { ref, onMounted } from 'vue'
import { SkyTiptap } from '@Chelase/sky-tiptap'

const editor = ref()

onMounted(() => {
  const html = editor.value?.getContent()
  console.log(html)
})
</script>

获取内容 ​

vue
<script setup>
import { SkyTiptap, getContent } from '@Chelase/sky-tiptap'

const getValue = () => {
  const value = getContent()
  console.log(value)
}
</script>

Released under the MIT License.