diff --git a/src/wcq-components/TablePlus/components/InputColumn/ForeignInput.vue b/src/wcq-components/TablePlus/components/InputColumn/ForeignInput.vue index 46169f9..74a9442 100644 --- a/src/wcq-components/TablePlus/components/InputColumn/ForeignInput.vue +++ b/src/wcq-components/TablePlus/components/InputColumn/ForeignInput.vue @@ -8,7 +8,9 @@ closable @close="handleClose" > - {{ (column.config.instanceKey&&ctx?.[column.config.instanceKey]?.[column.config.nameKey])||value }} + {{ + showValue + }} 选择 @@ -59,12 +61,25 @@ const handleClose = () => { value.value = null } +function getValueByNameKey(data, nameKey) { + return data ? (typeof nameKey === "string" ? data[nameKey] : nameKey.map(key => [tempValue[key]]).join("-")) : '' +} + +const showValue = computed(() => { + const nameKey = props.column.config.nameKey + //后端关系字段内的值 + const val1 = getValueByNameKey(props.column.config.instanceKey && props.ctx?.[props.column.config.instanceKey], nameKey) + //选择值内的值 + const val2 = getValueByNameKey(tempValue.value, nameKey) + return val2 || (value.value ? (val1 || value.value) : value.value) +}) + const handleTempClose = () => { tempValue.value = null } const value = computed({ get() { - console.log(props.ctx,'ctx') + console.log(props.ctx, 'ctx') return props.modelValue; }, set(newVal) {