uniapp、微信小程序车牌的录入的解决方案

结合uv-ui进行编写,键盘使用uv-ui的组件,其他由我们自己编写。

javascript 复制代码
<template>
  <div class="addCarContent">
    <div class="boxContent">
      <div class="carCodeInput" @click="getIndex">
        <div
          :class="[index === 0 && showActive ? 'input_active' : '', 'input']"
        >
          {{ CarCode[0] }}
        </div>
        <div
          :class="[index === 1 && showActive ? 'input_active' : '', 'input']"
        >
          {{ CarCode[1] }}
        </div>
        <div class="point"></div>
        <div
          :class="[index === 2 && showActive ? 'input_active' : '', 'input']"
        >
          {{ CarCode[2] }}
        </div>
        <div
          :class="[index === 3 && showActive ? 'input_active' : '', 'input']"
        >
          {{ CarCode[3] }}
        </div>
        <div
          :class="[index === 4 && showActive ? 'input_active' : '', 'input']"
        >
          {{ CarCode[4] }}
        </div>
        <div
          :class="[index === 5 && showActive ? 'input_active' : '', 'input']"
        >
          {{ CarCode[5] }}
        </div>
        <div
          :class="[index === 6 && showActive ? 'input_active' : '', 'input']"
        >
          {{ CarCode[6] }}
        </div>
        <div
          :class="[index === 7 && showActive ? 'input_active' : '', 'input']"
        >
          {{ CarCode[7] }}
        </div>
      </div>
    </div>
    <uv-keyboard
      ref="keyboard"
      mode="car"
      @change="change"
      :showTips="false"
      @confirm="confirm"
      @backspace="backspace"
      :autoChange="true"
      :overlay="true"
      :safeAreaInsetBottom="true"
      :confirmText="'完成'"
      @changeCarInputMode="changeCarInputMode"
      @close="closeKey"
    >
      <template v-slot:abc>
        <text v-if="isABC">省份</text>
        <text v-else>ABC</text>
      </template>
    </uv-keyboard>
  </div>
</template>

<script>
export default {
  data() {
    return {
      CarCode: ["", "", "", "", "", "", "", ""],
      index: "",
      isABC: false,
      showActive: false,
      checkboxValue: ["true"],
    };
  },
  onShow() {
    this.getIndex();
  },
  mounted() {},

  methods: {
    closeKey() {
      this.showActive = false;
    },
    changeCarInputMode(e) {
      this.isABC = e;
    },
    getIndex() {
      let index = this.CarCode.indexOf("");
      if (index !== -1) {
        this.index = index;
      } else {
        this.index = 7;
      }
      this.$refs.keyboard.open();
      this.showActive = true;
    },
    change(e) {
      console.log("change", e, this.index);
      if (this.index <= 7) {
        this.CarCode[this.index] = e;
        this.index++;
        if (this.index > 7) {
          this.$refs.keyboard.close();
          this.showActive = false;
          this.index--;
        }
      }
      console.log("changeEnd", this.CarCode);
    },
    confirm() {
      console.log("confirm");
    },
    backspace() {
      console.log("backspace", this.index);
      if (this.index === 1) {
        this.$refs.keyboard.changeCarMode();
      }
      if (this.index >= 0) {
        if (this.CarCode[this.index] === "") {
          this.index--;
          this.CarCode[this.index] = "";
        } else {
          this.CarCode[this.index] = "";
        }
        if (this.index < 0) {
          this.index = 0;
        }
      }
      this.$forceUpdate();
      console.log("backspaceEnd", this.CarCode, this.index);
    },
  },
};
</script>
相关推荐
Mr_li9 小时前
给 Vue 开发者的 uni-app 快速指南
vue.js·uni-app
anyup12 小时前
🔥2026最推荐的跨平台方案:H5/小程序/App/鸿蒙,一套代码搞定
前端·uni-app·harmonyos
Mintopia1 天前
Vue3 项目如何迁移到 uni-app x:从纯 Web 到多端应用的系统指南
uni-app
Mintopia1 天前
uni-app x 发展前景技术分析:跨端统一的新阶段?
uni-app
不爱说话郭德纲2 天前
告别漫长的HbuilderX云打包排队!uni-app x 安卓本地打包保姆级教程(附白屏、包体积过大排坑指南)
android·前端·uni-app
HashTang4 天前
【AI 编程实战】第 12 篇:从 0 到 1 的回顾 - 项目总结与 AI 协作心得
前端·uni-app·ai编程
JunjunZ4 天前
uniapp 文件预览:从文件流到多格式预览的完整实现
前端·uni-app
郑州光合科技余经理4 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
TT_Close4 天前
“啪啪啪”三下键盘,极速拉起你的 uni-app 项目!
vue.js·uni-app·前端工程化
特立独行的猫a4 天前
uni-app x跨平台开发实战:开发鸿蒙HarmonyOS影视票房榜组件完整实现过程
华为·uni-app·harmonyos·轮播图·uniapp-x