问题记录: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 分钟前
vite 和 webpack 项目使用wasm-pack 生成的 npm 包
前端·webassembly
閞杺哋笨小孩4 分钟前
内容平台-SEO 索引提交
前端·seo
苏打水com5 分钟前
HTML/CSS 核心考点详解(字节跳动 ToB 中台场景)
java·前端·javascript
jingling5555 分钟前
react | 从零开始:使用 Create React App 创建你的第一个 React 项目
前端·javascript·react.js
nnnnna9 分钟前
watch监听(一篇文章彻底搞懂watch监听)
前端·vue.js
科普瑞传感仪器14 分钟前
基于六维力传感器的机器人柔性装配,如何提升发动机零部件装配质量?
java·前端·人工智能·机器人·无人机
步步为营DotNet15 分钟前
深入理解IAsyncEnumerable:.NET中的异步迭代利器
服务器·前端·.net
JackieDYH18 分钟前
CSS滚动吸附详解:构建精准流畅的滚动体验-scroll-snap-type
前端·css