更新记录
1.0.0(2025-04-22)
下载此版本
上传
平台兼容性
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
HBuilderX 3.1.0 app-vue |
√ |
√ |
√ |
√ |
√ |
√ |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
鸿蒙元服务 |
√ |
√ |
√ |
√ |
× |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
mosowe-plate-number
props
prop |
类型 |
说明 |
默认 |
modelValue/v-model |
string |
默认值,非 custom 下,只有点击确定才会修改 |
‘’ |
autoFocus |
boolean |
是否自动获取焦点,会根据 modelvalue 的长度自动定位焦点 |
false |
popup |
boolean |
弹框形式,结合插槽使用,此模式下,插槽触发键盘弹框,弹框内顶部为格式化输入框 |
false |
custom |
boolean |
自定义相关交互,只需要键盘,内部所有的校验不会生效,此情况下点击键盘就会触发 v-model |
false |
customLength |
number |
自定义时,字符串长度限制 |
7 |
emits
emit |
说明 |
参数 |
focus |
组件获取焦点 |
- |
blur |
组件失去焦点 |
- |
close |
custom 时组件内部点击取消按钮触发,回调参数 bool 是否确认关闭,true 是,false 否 |
(callback:(bool)=>void) =>void |
confirm |
custom 时组件内部点击确定按钮触发,回调参数 bool 是否确认关闭,true 是,false 否 |
(callback:(bool)=>void) =>void |
键盘弹出状态,无法操作其他区域,有一层透明的 mask 遮挡的,需要点击确定或取消关闭后才可操作。
示例代码
<template>
<page-meta :page-style="'overflow:' + (pageHidden ? 'hidden' : 'visible')"></page-meta>
<view class="plate-number-show">
<mosowe-plate-number
v-model="num"
autoFocus
@focus="setPageHidden(true)"
@blur="setPageHidden(false)"></mosowe-plate-number>
<view class="line"></view>
<mosowe-plate-number v-model="num1"></mosowe-plate-number>
<view class="line"></view>
<mosowe-plate-number
v-model="num2"
popup>
弹框类(popup): {{ num2 }}
</mosowe-plate-number>
<view class="line"></view>
<mosowe-plate-number
v-model="num3"
custom
@close="close"
@confirm="confirm">
自定义校验等(custom): {{ num3 }}
</mosowe-plate-number>
</view>
</template>
<script setup lang="ts">
import { ref } from 'vue';
const num = ref('');
const num1 = ref('渝A');
const num2 = ref('');
const num3 = ref('');
const confirm = (cb: Function) => {
cb(true);
};
const close = (cb: Function) => {
cb(true);
};
const pageHidden = ref(false);
const setPageHidden = (val: boolean) => {
pageHidden.value = val;
};
</script>
<style
lang="scss"
scoped>
.plate-number-show {
padding: 40rpx 24rpx;
.line {
width: 100%;
height: 1px;
background-color: #eee;
margin: 30rpx 0;
}
}
</style>