问题记录: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)

相关推荐
朝阳58137 分钟前
在浏览器端使用 xml2js 遇到的报错及解决方法
前端
GIS之路1 小时前
GeoTools 读取影像元数据
前端
ssshooter1 小时前
VSCode 自带的 TS 版本可能跟项目TS 版本不一样
前端·面试·typescript
Jerry2 小时前
Jetpack Compose 中的状态
前端
dae bal3 小时前
关于RSA和AES加密
前端·vue.js
柳杉3 小时前
使用three.js搭建3d隧道监测-2
前端·javascript·数据可视化
lynn8570_blog3 小时前
低端设备加载webp ANR
前端·算法
LKAI.3 小时前
传统方式部署(RuoYi-Cloud)微服务
java·linux·前端·后端·微服务·node.js·ruoyi
刺客-Andy4 小时前
React 第七十节 Router中matchRoutes的使用详解及注意事项
前端·javascript·react.js
前端工作日常4 小时前
我对eslint的进一步学习
前端·eslint