javascript - 用 vuejs 做一个响应式组件
问题描述
我需要一个 Vue 组件来显示v-data-table
来自 Vuetify 的一些 HTML 内容。我已经看到这篇文章Vue 2 contentEditable with v-model,我创建了一个类似的代码,如下所示。
我的问题是组件没有反应。当我单击“测试按钮”时,没有更新任何内容HtmlTextArea
。
<template>
<div>
<v-btn @click="doTest()">Test Button</v-btn>
<HtmlTextArea
v-model="content"
style="max-height:50px;overflow-y: scroll;"
></HtmlTextArea>
</div>
<template>
export default {
name: "ModelosAtestados",
components: { HtmlTextArea },
data: () => ({
content: "",
}),
methods: {
doTest() {
this.content = "kjsadlkjkasfdkjdsjkl";
},
},
};
//component
<template>
<div ref="editable" contenteditable="false" v-on="listeners"></div>
</template>
<script>
export default {
name: "HtmlTextArea",
props: {
value: {
type: String,
default: "",
},
},
computed: {
listeners() {
return { ...this.$listeners, input: this.onInput };
},
},
mounted() {
this.$refs.editable.innerHTML = this.value;
},
methods: {
onInput(e) {
this.$emit("input", e.target.innerHTML);
},
},
};
</script>
解决方案
推荐阅读
- android - android.view.InflateException: Binary XML file line #48: Error inflating class TextView
- javascript - 如何在 Javascript 中插入具有 HTML 标记的 PHP 代码
- android - Android Studio:如何排除依赖库的特定包?
- python - 使用python将两个包含dict&list的json文件合并为单个json?
- html - 与语义 HTML 混淆
- python - 如何使这个 pygame 精灵的旋转(按中心)起作用?
- java - 如何使用最好的 android Volley 发布 JSON 数组并获取 JSON 对象作为响应?
- angular - 角度 4:ngb-dropdown-formcontrolName 不起作用
- python - 如何在 django 中使两个模型相互关联(反之亦然)。一个公司应该有多个目录,但一个目录只能有一个公司
- python-3.x - 如何在 Python + Selenium 中使用 cookie 来抓取网站