interface IMap { a: number; b: string; c: boolean; // ... 扩展更多属性 } // 用映射类型和条件类型 type Config = { [K in keyof IMap]: { type: K; props: IMap[K]; } }[keyof IMap]; // 例子: const configA: Config = { type: 'a', props: 42 }; // 正确 const configB: Config = { type: 'b', props: "hello" }; // 正确 const configC: Config = { type: 'c', props: true }; // 正确