实现思路
- 使用 Vue 的
v-model
指令实现文本输入框与数据的双向绑定。
- 利用
watch
监听器监听数据变化。
- 在监听器中使用
setTimeout
延迟 300 毫秒后将数据发送到服务器。
关键代码示例
<template>
<div>
<input v-model="inputValue" />
</div>
</template>
<script>
export default {
data() {
return {
inputValue: ''
};
},
watch: {
inputValue: {
immediate: true,
handler(newValue) {
let timer;
clearTimeout(timer);
timer = setTimeout(() => {
// 这里发送数据到服务器
this.sendDataToServer(newValue);
}, 300);
}
}
},
methods: {
sendDataToServer(data) {
// 模拟发送数据到服务器的逻辑
console.log('Sending data to server:', data);
}
}
};
</script>