Ver código fonte

修正 封装的table组件 不支持 prop 中二级对象的问题
修正 封装的table组件 不支持 prop 中二级对象的问题

Signed-off-by: Mr先生 <362270511@qq.com>

Mr先生 2 anos atrás
pai
commit
fde18a8bf0
1 arquivos alterados com 11 adições e 2 exclusões
  1. 11 2
      Web/src/components/table/index.vue

+ 11 - 2
Web/src/components/table/index.vue

@@ -69,7 +69,7 @@
 							preview-teleported fit="cover" />
 							preview-teleported fit="cover" />
 					</template>
 					</template>
 					<template v-else>
 					<template v-else>
-						{{ scope.row[item.prop] }}
+						{{ getProperty(scope.row,item.prop)  }}
 					</template>
 					</template>
 				</template>
 				</template>
 				<el-table-column v-for="(childrenItem, childrenIndex) in item.children" :key="childrenIndex" v-bind="childrenItem">
 				<el-table-column v-for="(childrenItem, childrenIndex) in item.children" :key="childrenIndex" v-bind="childrenItem">
@@ -90,7 +90,7 @@
 								preview-teleported fit="cover" />
 								preview-teleported fit="cover" />
 						</template>
 						</template>
 						<template v-else>
 						<template v-else>
-							{{ scope.row[childrenItem.prop] }}
+							{{ getProperty(scope.row,childrenItem.prop)  }}
 						</template>
 						</template>
 					</template>
 					</template>
 				</el-table-column>
 				</el-table-column>
@@ -183,6 +183,15 @@ const state = reactive({
 	checkListIndeterminate: false,
 	checkListIndeterminate: false,
 });
 });
 
 
+const getProperty=(obj, property)=> {
+      const keys = property.split('.');
+      let value = obj;
+      for (const key of keys) {
+        value = value[key];
+      }
+      return value;
+    }
+
 // 设置边框显示/隐藏
 // 设置边框显示/隐藏
 const setBorder = computed(() => {
 const setBorder = computed(() => {
 	return props.config.isBorder ? true : false;
 	return props.config.isBorder ? true : false;