JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.3/vue.js"></script>
<div id="app">
<button @click="load">load</button>
<input v-model="name">
<button :disabled="!name_changed" @click="name_changed = false">save</button>
</div>
JavaScript
new Vue({
el: '#app',
data: {
name: '',
name_changed: false,
},
watch: {
name() {
this.name_changed = true;
},
},
mounted() {
this.load();
},
methods: {
load() {
setTimeout(() => {
this.name = Math.random() * 10000 | 0;
this.$nextTick(() => this.name_changed = false);
}, 300);
},
},
});