vue-quill-editor 插入附件
时间: 2023-07-12 12:51:33 浏览: 228
要在 vue-quill-editor 中插入附件,可以使用 Quill.js 的 API,具体步骤如下:
1. 在 Vue 组件中引入 Quill.js 和 vue-quill-editor:
```
import Quill from 'quill'
import 'quill/dist/quill.snow.css'
import VueQuillEditor from 'vue-quill-editor'
```
2. 在 Vue 组件中使用 vue-quill-editor,并在初始化 Quill 实例时,设置上传附件的回调函数:
```
<template>
<div>
<vue-quill-editor v-model="content" ref="myQuillEditor" :options="editorOption" />
</div>
</template>
<script>
export default {
components: {
VueQuillEditor
},
data() {
return {
content: '',
editorOption: {
// 配置上传附件的回调函数
modules: {
toolbar: [
...
{
handler: function() {
const range = this.quill.getSelection()
const input = document.createElement('input')
input.setAttribute('type', 'file')
input.setAttribute('accept', 'image/*')
input.setAttribute('style', 'visibility:hidden;width:0;height:0;')
input.addEventListener('change', () => {
const file = input.files[0]
const formData = new FormData()
formData.append('file', file)
// 这里使用 axios 或其他 HTTP 库上传附件,上传成功后插入附件链接
axios.post('/upload', formData).then(res => {
const imgUrl = res.data.url
this.quill.insertEmbed(range.index, 'image', imgUrl)
})
})
input.click()
}
},
...
]
}
}
}
}
}
</script>
```
3. 在回调函数中使用 HTTP 库上传附件,并在上传成功后,通过 `insertEmbed` 方法插入附件链接。
需要注意的是,这里只是一个简单的示例,上传附件需要根据具体的业务需求和后端 API 进行实现。
阅读全文