0
00
49
23
请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

使用了 Partial 后,如果我想让某个属性一定为必填怎么办呢?

  1. 首先呢,是不是用了 Partial 改变所以属性为可选参后,前面自定义的可选接口属性就可以改为必填了呢?如下:
interface BaseButtonProps {
  className: string;
  btnType: ButtonType;
  // ...
}
  1. 那么,如果我就是想让 btnType 为必填该怎么做呢?

老师解答辛苦啦!!

正在回答

插入代码

1回答

同学你好欧 

1 使用 Partial 是让所有的参数都变成可选。比如这里 Partial<BaseButtonProps> 那么 这个 interface 的所有属性都变成可选

2 可以使用 Partial 以后再用交叉类型,这样后面的会覆盖前面的

1
2
3
type MustHaveBtnType = Partial<BaseButtonProps> & {
    btnType: string;
}


0 回复 有任何疑惑可以回复我~
  • 提问者 慕容4836272 #1
    谢谢,没有想到这一层
    回复 有任何疑惑可以回复我~ 2020-09-13 13:29:31
  • ywang04 #2
    老师 看来你更倾向于用type来实现这样的功能 是不是这样做比interface的extends更灵活呢?如果想使用interface实现同样的功能是否也需要用到Partial?还是有别的实现方式?老师是否可以举例下,谢谢
    回复 有任何疑惑可以回复我~ 2021-01-25 18:32:34
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号