Edit in JSFiddle

  const vm = new Vue({
    el: "#app",
    data: {v: "クリックして編集", f: false},
    methods: {
      c: function() {
        this.f = true
        this.$nextTick(function () { this.$refs.r1.focus() })
      },
    },
  })
<div id="app">
  <template v-if="f">
    <input v-model="v" @keyup.enter="f = false" @blur="f = false" ref="r1" />
  </template>
  <template v-else="">
     <span @click="c">{{v}}</span>
  </template>
</div>