8
0
ZaiZai vor 1 Jahr
Ursprung
Commit
b961f9a245
2 geänderte Dateien mit 14 neuen und 12 gelöschten Zeilen
  1. 11 8
      src/components/table-form/components.vue
  2. 3 4
      src/components/table-form/table-form.vue

+ 11 - 8
src/components/table-form/components.vue

@@ -4,6 +4,7 @@
 
 <script setup>
 import { onMounted, ref } from 'vue'
+import { useClick } from 'hc-vue3-ui'
 import { getRandom, isNullES } from 'js-fast-way'
 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)
 
@@ -45,22 +46,24 @@ const matchingType = () => {
     name.value = typeObj[props.type]
 }
 
-const EVENT_KEY = 'hc-table-form-item'
-
 //左键点击了
 const isClick = ref(false)
 const leftTap = () => {
     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)
 }
 
-//失去焦
+//点击了其它地方
 const onClickOutside = () => {
     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)
 }
 

+ 3 - 4
src/components/table-form/table-form.vue

@@ -55,11 +55,10 @@ watch(() => props.form, (val) => {
 }, { deep: true })
 
 //注册监听事件
-const EVENT_KEY = 'hc-table-form-item'
 const setEmitterData = () => {
-    /*emitter.on(EVENT_KEY, ({ key, data }) => {
-        console.log(key, data)
-    })*/
+    window.addEventListener('message', ({ data }) => {
+        console.log(data)
+    })
 }
 
 //表单被点击