问题记录:input不跟随字符输入从服务端搜索数据

需求:使用中文输入法,当还处于拼字阶段时,输入框的字符也可以拿到,并从服务端搜索数据。

问题:中文输入法,当还处于拼字阶段时,输入框的值无法拿到。

使用框架:vue2

查看了很多网站的搜索引擎,确实是有如此处理的,确认需求合理。

用一个小demo来实现我使用方法:

js 复制代码
<template>
  <div class="app">
    <input v-model="text" />
  </div>
</template>


<script>
export default {
  data() {
    return {
      text:''
    };
  },
  watch: {
    text(val){
      console.log('text:',val)
    }
  },
};
</script>

当输入法是英文时,可以跟随input字符输入拿到text的值:

当输入法是中文时,只有拼字结束后才能拿到text的值:

翻看官方文档发现了下面这段话:

那么我们就知道了v-model在拼写阶段不会触发更新,需要在@input事件拿到text的值。

v-model是语法糖, v-model等价于 给一个input框提供了 :value属性以及 @input事件

我们将代码稍加改动:

js 复制代码
<template>
  <div class="app">
    <input :value="text" @input="textChange" />
  </div>
</template>


<script>
export default {
  data() {
    return {
      text:''
    };
  },
  methods: {
    textChange(val){
      console.log('text:',val)
    }
  },
};
</script>

ok,成功!

知识点: 表单输入绑定 | Vue.js (vuejs.org)

相关推荐
思码梁田1 小时前
CSS 浏览器厂商前缀:从「写 5 遍」到现代自动化兼容
前端·css·css3·border-radius·1024程序员节·box-shadow·厂商前缀
Bug收容所1 小时前
Vue+JS Day3
前端·javascript·vue.js·前端框架·1024程序员节
iCxhust1 小时前
如何实时同步自己的工作日志,在不同的设备间
前端·软件工程·1024程序员节·同步日志
IT_陈寒1 小时前
React项目实战经验分享:如何避免useEffect闭包陷阱导致的陈旧状态问题?
前端·人工智能·后端
风骏时光牛马2 小时前
智能任务调度Agent
前端
ljt27249606612 小时前
Vue笔记(十六)--自定义Hook
前端·1024程序员节
沙蒿同学10 小时前
不引 Ghostscript:我用纯 Go 给 PDF 做了一场「压缩手术」
前端·后端·github
变与不变80611 小时前
jQuery细节以及使用应用场景
前端·javascript·jquery
SailingCoder13 小时前
【封闭结束1】端到端交付:Agent 一次请求如何走完全链路
前端·安全·ai·面试·agent·harness