我正在尝试为双击时可以编辑的标题创建一个组件。组件将应该使用的 h-tag 和 title 作为 props,并且应该生成一个普通的 h-tag,一旦双击它就会变成一个输入字段。如果页面上只有一个标题,这已经有效,但是一旦在一页上使用了多个组件,它就会中断,因为组件的范围不正确。但我不知道怎么做。这是代码:
<template>
<div class="edit-on-click">
<input
:class="sizeClass"
type="text"
v-if="edit"
v-model="editedTitle"
@blur="finishEdit"
@keyup.enter="finishEdit"
v-focus="true"
/>
<span v-show="!edit" @dblclick.prevent="edit = true"></span>
</div>
</template>
安装的钩子我不知道如何确定范围:
mounted() {
let node = document.createElement(this.size); // Takes h-tag (h1, h2 etc.)
let titleText = document.createTextNode(this.finalTitle); // Takes title
node.appendChild(titleText);
node.classList.add("editable-title");
// This breaks the code once there are multiple components in the document
document.getElementsByTagName("span")[0].appendChild(node);
},
如何以有效的方式确定范围?非常感谢您!
青春有我
相关分类