【发布时间】:2019-07-16 07:00:48
【问题描述】:
我已经实现了一个组件,该组件使用 contenteditable="true" 来获得在此 div 上编辑内容的可能性(如 textarea)。
从我的代码中关注一个 sn-p:
export default {
name: 'divArea',
props: ['value'],
mounted() {
this.$el.innerHTML = this.value;
},
methods: {
updateHTML(e) {
const html = e.target.innerHTML;
this.$emit('input', html);
},
},
}
<template>
<div contenteditable="true"
v-once
v-html="value"
@input="updateHTML"
@paste="onPaste"
class="txtArea"></div>
</template>
我正在尝试在此区域中实现粘贴功能以从 html 页面复制内容块,但我希望粘贴操作后只有文本版本(无 html)。
目前我在组件上使用带有 prop 的 v-html 属性,因为我需要在粘贴的文本上添加一个 html 自定义标签,但前提是用户单击按钮。
如何实现这种行为?
【问题讨论】:
-
您可能想查看 Vue markdown,here's an example。
-
谢谢@jom,但是这个例子使用了一个库(marked.js)
标签: javascript vue.js vuejs2