|
|
@@ -19,6 +19,8 @@
|
|
|
<div class="nut-number-keyboard__body">
|
|
|
<div class="nut-number-keyboard__keys">
|
|
|
<div
|
|
|
+ v-for="item of keysList"
|
|
|
+ :key="'key' + item.id"
|
|
|
:class="[
|
|
|
'nut-key__wrapper',
|
|
|
{
|
|
|
@@ -26,8 +28,6 @@
|
|
|
item.id == 0 && type == 'rightColumn' && Array.isArray(customKey) && customKey.length == 1
|
|
|
}
|
|
|
]"
|
|
|
- v-for="item of keysList"
|
|
|
- :key="'key' + item.id"
|
|
|
>
|
|
|
<div
|
|
|
:class="[
|
|
|
@@ -57,7 +57,7 @@
|
|
|
<div
|
|
|
:class="['nut-key', { active: clickKeyIndex == 'delete' }]"
|
|
|
@touchstart="(event) => onTouchstart({ id: 'delete', type: 'delete' }, event)"
|
|
|
- @touchmove="(event) => onTouchMove({ id: 'delete', type: 'delete' }, event)"
|
|
|
+ @touchmove="(event) => onTouchMove(event)"
|
|
|
@touchend="onTouchEnd"
|
|
|
>
|
|
|
<img
|
|
|
@@ -81,6 +81,10 @@ import { computed, onMounted, provide, reactive, nextTick, ref, watch, Ref } fro
|
|
|
import { createComponent } from '@/packages/utils/create';
|
|
|
import Popup from '../popup/index.vue';
|
|
|
const { create, translate } = createComponent('numberkeyboard');
|
|
|
+export interface keys {
|
|
|
+ id: number | string;
|
|
|
+ type: string;
|
|
|
+}
|
|
|
export default create({
|
|
|
components: {
|
|
|
[Popup.name]: Popup
|
|
|
@@ -137,7 +141,7 @@ export default create({
|
|
|
},
|
|
|
emits: ['input', 'delete', 'close', 'update:value'],
|
|
|
setup(props, { emit }) {
|
|
|
- const clickKeyIndex: Ref<string | undefined> = ref(undefined);
|
|
|
+ const clickKeyIndex: Ref<string | undefined | number> = ref(undefined);
|
|
|
const show = ref(props.visible);
|
|
|
const root = ref<HTMLElement>();
|
|
|
function defaultKey() {
|
|
|
@@ -157,7 +161,7 @@ export default create({
|
|
|
}
|
|
|
|
|
|
function getBasicKeys() {
|
|
|
- const keys: Array<unknown> = [];
|
|
|
+ const keys: keys[] = [];
|
|
|
for (let i = 1; i <= 9; i++) {
|
|
|
keys.push({ id: i, type: 'number' });
|
|
|
}
|
|
|
@@ -206,7 +210,7 @@ export default create({
|
|
|
}
|
|
|
);
|
|
|
|
|
|
- function onTouchstart(item: { id: string; type: string }, event: TouchEvent) {
|
|
|
+ function onTouchstart(item: { id: string | number; type: string }, event: TouchEvent) {
|
|
|
event.stopPropagation();
|
|
|
clickKeyIndex.value = item.id;
|
|
|
if (item.type == 'number' || item.type == 'custom') {
|