8
0
ZaiZai vor 1 Jahr
Ursprung
Commit
ba31854ca5

+ 9 - 1
src/components/table-form/components.vue

@@ -4,7 +4,7 @@
 
 <script setup>
 import { onMounted, ref } from 'vue'
-import { isNullES } from 'js-fast-way'
+import { getRandom, isNullES } from 'js-fast-way'
 import { ClickOutside as vClickOutside } from 'element-plus'
 
 const props = defineProps({
@@ -26,6 +26,8 @@ const props = defineProps({
 //事件
 const emit = defineEmits(['blur', 'focus'])
 
+const uuid = getRandom(8)
+
 //渲染完成
 onMounted(()=> {
     matchingType()
@@ -43,16 +45,22 @@ 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 })
     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 })
     emit('blur', props)
 }
 

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

@@ -38,6 +38,7 @@ const isTableForm = ref(false)
 
 //渲染完成
 onMounted(() => {
+    setEmitterData()
     getExcelHtml()
 })
 
@@ -53,6 +54,13 @@ watch(() => props.form, (val) => {
     setFormData(val)
 }, { deep: true })
 
+//注册监听事件
+const EVENT_KEY = 'hc-table-form-item'
+const setEmitterData = () => {
+    /*emitter.on(EVENT_KEY, ({ key, data }) => {
+        console.log(key, data)
+    })*/
+}
 
 //表单被点击
 const excelTableFormClick = () => {