為組件編寫描述文件d.ts
例如有這樣一個函數(shù)組件public-component/MyComponent
-MyComponent{
index.jsx
style.scss
}
為該組件編寫一個index.d.ts描述文件序目,在使用組件時有api提示
無需其他項目配置
-MyComponent{
index.jsx
index.d.ts
style.scss
}
// index.d.ts
export interface DataItem<T> {
/**
* 非必傳,狀態(tài)的統(tǒng)計
*
* 默認:undefined裹唆,undefined時不展示括號
*/
count?: Number | undefined;
/**
* 非必傳堂油,hover提示語
*/
tip?: String;
}
export interface Props {
/**
* 必傳溜歪,數(shù)據(jù)項數(shù)組
*/
data: DataItem[];
/**
* 必傳漂佩,渲染顯示字段
*
* 為 string 時庄岖,返回 d[string]
*
* 為 function 時豁翎,返回函數(shù)結(jié)果
*/
renderItem: String | Function;
/**
* 必傳,選中數(shù)據(jù)的key值
*/
value: String;
/**
* 必傳顿锰,數(shù)據(jù)改變事件
*
* nextValue 即將選中的key
*
* currentValue 當前選中的key
*
* checked 當前項是否被選中 true | false
*
* item 當前被選中的數(shù)據(jù)項(對象)
*
*/
onChange?: (nextValue: String, currentValue: String, checked: Boolean, item: Object) => void;
/**
* 非必傳谨垃,快速搜素的標題,默認為"快速搜索:"
*/
title?: String;
/**
* 非必傳硼控,生成每一項key的輔助方法,默認index
*/
keygen?: String | Function;
/**
* 非必傳胳赌,單選是否可取消選中牢撼,默認true
*/
canCancel?: Boolean;
}
declare function QsButton(props:Props) {}
export default QsButton;