type AddDataOtherType = { component: T; // 组件名称 transition?: 'fade-in-linear' | 'fade-in' | 'zoom-in-center' | 'zoom-in-top' | 'zoom-in-bottom'; // 组件的显隐动画 }; export type AddDataType = (RequiredKeys > extends true ? { data: DataType } : { data?: DataType }) & AddDataOtherType; const data: AddDataType = { component: 'AlarmTips' }; const data1: AddDataType = { component: 'AlarmTips' };  为什么需要这样`AddDataType` 才能正确获取类型? 不是已经使用 ``进行关联了吗? 应该可以通过`component: T;`的类型得到`AddDataType`接收类型的啊。 * * * 测试用例补充: type DataOtherType = { component: T; // 组件名称 }; type TL = '1' | '2'; type DataType1 = DataOtherType & (T extends '1' ? { data?: 1 } : { data: 1 }); const data2: DataType1 = { component: '1' }; const data3: DataType1 = { component: '2' }; const data4: DataType1 = { component: '2' };