uniapp input获取焦点问题

现在是这样的我要重复扫描然后呢点确定并且清空那个input的值,但是清了之后欧就获取不到焦点了,我也设置了input的focus是true了,我试了我设置那个值是false之后是焦点不在了。但是我点确定之后在设置值就没效果了

在清空输入框的值之后,由于焦点失去了,如果设置了 focustrue 也不一定会生效,因为此时可能还需要等待一段时间让界面重新渲染,这样才可以使输入框重新获取焦点。
可以在清空输入框的值之后,使用 setTimeout 函数延迟一段时间,再设置输入框的 focus 属性为 true

<template>
  <view>
    <input type="text" v-model="inputValue" ref="input" />
    <button @click="handleConfirm">确定</button>
  </view>
</template>

<script>
export default {
  data() {
    return {
      inputValue: '',
    };
  },
  methods: {
    handleConfirm() {
      this.inputValue = '';
      setTimeout(() => {
        this.$refs.input.focus();
      }, 100);
    },
  },
};
</script>

延迟时间的长短可以根据实际情况进行调整,如果延迟时间过短,效果可能不如预期。