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

相关推荐
ObjectX前端实验室18 小时前
【图形编辑器架构】🧠 Figma 风格智能选择工具实现原理【猜测】
前端·react.js
天桥下的卖艺者18 小时前
R语言基于shiny开发随机森林预测模型交互式 Web 应用程序(应用程序)
前端·随机森林·r语言·shiny
技术钱18 小时前
vue3 两份json数据对比不同的页面给于颜色标识
前端·vue.js·json
路很长OoO18 小时前
Flutter 插件开发实战:桥接原生 SDK
前端·flutter·harmonyos
Flash Dog18 小时前
【Vue】——路由
vue.js
开水好喝19 小时前
Code Coverage Part I
前端
DoraBigHead19 小时前
🧭 React 理念:让时间屈服于 UI —— 从同步到可中断的演化之路
前端·javascript·面试
羊羊小栈19 小时前
基于「多模态大模型 + BGE向量检索增强RAG」的航空维修智能问答系统(vue+flask+AI算法)
vue.js·人工智能·python·语言模型·flask·毕业设计
敢敢J的憨憨L19 小时前
GPTL(General Purpose Timing Library)使用教程
java·服务器·前端·c++·轻量级计时工具库
喝拿铁写前端19 小时前
Vue 组件通信的两种世界观:`.sync` 与普通 `props` 到底有什么不同?
前端·vue.js·前端框架