给定以下代码,当我们调用
问题是,IntelliSense无法识别我作为代码一部分编写的文档。 我想要的是这样的:
附言:我知道我可以将
但是那个组件接口并不像我的原始提案那样好。
baz
函数时,自动补全将显示'a'和'b'作为可能的值。
然而,如果我想为每个值提供额外的文档,我应该如何做呢?例如,如果期望的行为是这样的:
我觉得我应该提供更多关于我所尝试做的事情以及原因的背景:
考虑以下例子:
const paintColor = {
/** This color is good fo X */
Waltz: "#d9e5d7",
/** This color is good fo Y */
"Indiana Clay": "#ed7c4b",
/** This color is good fo Z */
Odyssey: "#575b6a"
};
const locations = {
/** There are no good school at this location*/
City: "123 city center road",
/** There are lots of parking at this location but it is very far*/
West: "245 some other road"
};
interface HouseProp {
color: keyof typeof paintColor; //"Waltz" | "Indiana Clay" | "Odyssey"
location: keyof typeof locations; //"City" | "West"
}
const House = ({ color, location }: HouseProp) => {
...
};
Where House是一个React组件,根据颜色和位置属性渲染一个房子。
而这个House组件在整个项目中都被广泛使用。
使用当前设置,我可以像这样使用House:
<House color="Indiana Clay" location="City" />
问题是,IntelliSense无法识别我作为代码一部分编写的文档。 我想要的是这样的:
![在此输入图像描述](https://istack.dev59.com/4o4tt.webp)
paintColor
和locations转换为枚举,并使用类似这样的东西:import House, {HouseColor, HouseLocation} from './House';
<House color={HouseColor["Indiana Clay"]} location={HouseLocation.City} />
但是那个组件接口并不像我的原始提案那样好。