Skip to content

naive-ui-editor文档

介绍

naive-ui-editor是基于wangEditor 5封装的一个富文本组件,另有用到naive-uin-spin

wangEditor 5开源 Web 富文本编辑器,开箱即用,配置简单。支持 JS Vue React 。

安装

bash
pnpm add naive-ui-editor

也可以使用npmyarn等安装。

使用

局部导入

vue
<template>
  <NaiveUiEditor
    v-model:value="content"
    :requestFunc="handleUpload"
  ></NaiveUiUpload>
</template>

<script setup lang="ts">
import { NaiveUiEditor } from 'naive-ui-editor'
import { ref } from 'vue'

const content = ref<string | null>(null)
function handleUpload() {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve('https://picsum.photos/200/300')
    }, 1000)
  })
}
</script>

<style scoped></style>

全局导入

ts
import { createApp } from 'vue'
import NaiveUiEditor from 'naive-ui-editor'

const app = createApp(App)
app.use(NaiveUiEditor, {
  requestFunc() {
    return new Promise((resolve) => {
      setTimeout(() => {
        resolve('https://picsum.photos/200/300')
      }, 1000)
    })
  }
})

props

字段类型描述必传默认值
modestring富文本模式default
heightnumber富文本高度500
disabledboolean富文本是否禁用逻辑:先判断该字段,再判断injectForm?.props?.disabled-
requestFuncFunction,见下方说明上传文件的函数-
v-model:valuestring富文本内容,需要双向绑定
toolbarConfigObject,见下方说明菜单栏配置
editorConfigObject,同上富文本配置见下方

requestFunc字段定义类型如下:

ts
type RequestFun = (file: File) => Promise<string>

toolbarConfigeditorConfig字段定义类型如下:
具体见wangEditor

editorConfig字段默认值如下:

ts
editorConfig: {
  placeholder: '请输入内容...',
  MENU_CONF: {},
}

可以在全局注册传入requestFunc,也可在naive-ui-editorprops传入。props优先级最高。

也可以通过provide注入:

ts
import { provideKey } from 'naive-ui-editor'
app.provide(provideKey, function)

提示

如果没有找到requestFuncnaive-ui-editor会报错