出现原因
扫描枪是模拟手动输入的,当输入法为中文时扫入的字母相当于拼音
解决办法
可以将中的type改为password,此时不能输入中文,故可以使用密码框实现扫码枪中文输入法的问题
如果需要显示输入的内容可以在后插入value
以下是使用elementUI举例
<template>
<div ref="">
<el-input v-model="selected" ref="ele" @blur="actions.blur" type="password" @input="actions.change"><template #append>{{state.text}}</template></el-input>
</div>
</template>
<script lang="ts" setup>
import type { ElInput } from 'element-plus'
import { reactive, computed, onMounted, onUnmounted, ref } from 'vue'
const ele = ref<InstanceType<typeof ElInput>>()
const state = reactive({
text: '',
})
const actions = {
change() {
state.text = ele.value.ref.value
},
}
</script>