|
@@ -4,6 +4,7 @@
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
import { onMounted, ref } from 'vue'
|
|
import { onMounted, ref } from 'vue'
|
|
|
|
+import { useClick } from 'hc-vue3-ui'
|
|
import { getRandom, isNullES } from 'js-fast-way'
|
|
import { getRandom, isNullES } from 'js-fast-way'
|
|
import { ClickOutside as vClickOutside } from 'element-plus'
|
|
import { ClickOutside as vClickOutside } from 'element-plus'
|
|
|
|
|
|
@@ -24,7 +25,7 @@ const props = defineProps({
|
|
})
|
|
})
|
|
|
|
|
|
//事件
|
|
//事件
|
|
-const emit = defineEmits(['blur', 'focus'])
|
|
|
|
|
|
+const emit = defineEmits(['blur', 'focus', 'tap'])
|
|
|
|
|
|
const uuid = getRandom(8)
|
|
const uuid = getRandom(8)
|
|
|
|
|
|
@@ -45,22 +46,24 @@ const matchingType = () => {
|
|
name.value = typeObj[props.type]
|
|
name.value = typeObj[props.type]
|
|
}
|
|
}
|
|
|
|
|
|
-const EVENT_KEY = 'hc-table-form-item'
|
|
|
|
-
|
|
|
|
//左键点击了
|
|
//左键点击了
|
|
const isClick = ref(false)
|
|
const isClick = ref(false)
|
|
const leftTap = () => {
|
|
const leftTap = () => {
|
|
isClick.value = true
|
|
isClick.value = true
|
|
- //const keyName = `${EVENT_KEY}-${props.id ? props.id : props.keyname ? props.keyname : uuid}`
|
|
|
|
- //emitter.emit(keyName, { key: 'focus', props: props })
|
|
|
|
|
|
+ window.postMessage({ key: 'focus', data: { ...props } })
|
|
emit('focus', props)
|
|
emit('focus', props)
|
|
}
|
|
}
|
|
|
|
|
|
-//失去焦点
|
|
|
|
|
|
+//点击了其它地方
|
|
const onClickOutside = () => {
|
|
const onClickOutside = () => {
|
|
isClick.value = false
|
|
isClick.value = false
|
|
- //const keyName = `${EVENT_KEY}-${props.id ? props.id : props.keyname ? props.keyname : uuid}`
|
|
|
|
- //emitter.emit(keyName, { key: 'blur', props: props })
|
|
|
|
|
|
+ onClickBlur()
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+//失去焦点
|
|
|
|
+const onClickBlur = async () => {
|
|
|
|
+ await useClick()
|
|
|
|
+ window.postMessage({ key: 'blur', data: { ...props } })
|
|
emit('blur', props)
|
|
emit('blur', props)
|
|
}
|
|
}
|
|
|
|
|