gpt4 book ai didi

javascript - 如何定义传递的组件必须具有某些 Prop 但也允许额外的 Prop

转载 作者:数据小太阳 更新时间:2023-10-29 04:17:45 24 4
gpt4 key购买 nike

我正在传递一个组件作为 Prop 。

定义如下。

export type TableProps<T> = {
contents: T[],
loadContents: () => Promise<T[]>
};

这工作正常,但我想更新这个定义说,至少上面的 Prop 应该存在,但允许额外的 Prop 。

是否有我可以用来执行此操作的定义。例如,我希望接受具有以下签名的组件。

type Props = {
onChangeMark: (val: string) => void,
...TableProps<Attendance>
};

我已经尝试将它们定义为接口(interface),但它们仍然被拒绝。

interface TableProps<T> {
contents: T[],
loadContents: () => Promise<T[]>
};

更新

我认为这说明了我遇到的问题 Link

更新 2

@Rajesh 的解决方案似乎不起作用,已尝试 here

最佳答案

你可以尝试这样的事情:

interface IDummy {
value: string;
propName: string;
[key: string]: any;
}

这样做的目的是,它会强制您传递对象中的 valuepropName 属性,但您可以拥有任何其他属性。

Sample

关于javascript - 如何定义传递的组件必须具有某些 Prop 但也允许额外的 Prop ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48524870/

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