<mavon-editor
v-model="article.content"
:navigation="true"
style="height: 100%;"
@change="onContentChange"
@imgAdd="addImgToMd"
@imgDel="delUploadedImg"
ref="md"
/>
methods: {
onContentChange(value, render) {
// console.log('1->', value) // markdown文本
// console.log('2->', render) // markdown转换后的html文本
},
addImgToMd(fileIndex, File) {
// 点击图片上传中的上传图片, 添加文件的时候, 会在光标离开编辑器最后定位的地方"自动"加上 ![文件描述](默认文件索引)
// - 文件描述:默认就是文件名, 这个无关紧要, 任意修改都行
// - 默认的文件索引:
// * 这个特别重要, 当选择完文件, 点击确定后, 这个文件就已经被索引了,
// 在上传图片图标下拉的上传图片下面可以看到点击确定上传的图片, 至于用不用就在自己了
// (意思是可以使用索引来引用这张图片了, 比如可以直接用![xxx](1)来引用第一张上传的图片)
// * 但是也可以不使用默认的文件索引, 手动使用(任何可用的)图片路径的url来替代文件索引也是可以的
// 所以, 这里可以先把获取到的文件上传到服务器, 然后把返回的url, 使用$img2Url方法直接替换掉默认文件索引
// 调用这个$img2Url方法会把前面"自动"加上的markdown语法里的默认文件索引都会替换成第二个参数的值,
// 包括你前面凡是这个格式的(并且默认文件索引匹配上的)
console.log('addImgToMd', fileIndex, File);
console.log(this.$refs['md'])
this.$refs['md'].$img2Url(fileIndex, 'https://images.sunofbeaches.com/content/2022_08_19/1010235431771439104.png')
},
delUploadedImg(arr) {
console.log('addImgToMd', arr);
// 点击图片上传中的 已上传的图片后面的x时, 编辑器里的引用这个文件的地方都会被删掉(使用url或者索引的地方)
// 返回的是个数组, 数组的第一项是 默认索引或者是被替换的url, 数组的第二项是文件对象
}
}