美文网首页vue
vue中的可编辑div

vue中的可编辑div

作者: 晴空万里_d3c2 | 来源:发表于2019-02-14 20:12 被阅读591次

可编辑div可能很简单 contenteditable="true" 就能实现了

但是,,,输入一个字的时候,焦点会自动跳到文本开头,很烦的有木有

在网上看见一个大神写的,引用过来,很久了,忘记了出处

将可编辑div单独设置成一个组件

子组件中

<template>

  <div class="edit" placeholder="11"

      v-html="innerText"

      :contenteditable="canEdit"

      @focus="isLocked =true"

      @blur="isLocked =false"

      @input="changeText">

</template>

watch: {

'value'(){

if (!this.isLocked && !this.innerText) {

this.innerText =this.value;

    }

}

},

methods: {

changeText(){

this.$emit('input', this.$el.innerHTML);

  }

},

父组件中只要 v-model='你想要绑定的数据'

对vue不熟悉,,当然这位大神也说看下官方文档v-model这一块

大致是如果父组件的v-model会首先绑定子组件的emit的input方法

相关文章

网友评论

    本文标题:vue中的可编辑div

    本文链接:https://www.haomeiwen.com/subject/vgvteqtx.html