gpt4 book ai didi

javascript - typescript 中的条件类型参数

转载 作者:行者123 更新时间:2023-12-04 00:52:42 25 4
gpt4 key购买 nike

我正在尝试创建一个函数,其中 columns 参数取决于所选的 type

函数 useNavigation(type: "horizo​​ntal"| "grid"| "vertical", columns?: number)

当参数 typegrid 时,如何更改类型声明以设置列参数 required

最佳答案

您可以使用函数重载来实现这一点。在我下面的示例中,前两个声明根据您的要求指定不同的参数,而最后一个声明(以及随后的实现)接收所有可能的参数,这就是为什么 type 仍然是 'horizo​​ntal ' | '垂直' | “网格”

调用者将获得正确的类型和自动完成,您只需在函数内部进行检查以确定基于参数的逻辑。

function useNavigation(type: 'horizontal' | 'vertical');
function useNavigation(type: 'grid', columns: number);
function useNavigation(
type: 'horizontal' | 'vertical' | 'grid',
columns?: number,
) {
// Your function body...
}

这是一个 TS playground证明这一点。

关于javascript - typescript 中的条件类型参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65297841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com