参考:https://www.jianshu.com/p/76dc6818908e
TypeScript 中的接口是一个非常灵活的概念,除了可用于对类的一部分行为进行抽象以外,也常用于对「对象的形状(Shape)」进行描述。
//定义接口
interface Person{
name: string,
age: number, // 必选属性
job?: string, //可选属性,表示不是必须的参数,
readonly salary: id, //表示是只读的属性,但是在初始化之后不能重新赋值,否则会报错
[ propName : string ] : any, // 任意类型
}
//定义一个变量,它的类型时接口Person,这样就约束了接口的内容
let person: Person = {
name: 'jack',
age: 28,
job: 'IT dog',
id: 9872,
salary: 9999,
}
function printMan(person) {
console.log( `我是 ${person.name}, 我今年 ${person.age},我的工作是${person.job}`);
}
任意属性 [ propName : 类型 ] : any 表示定义了任意属性取string 类型的值
2、类中相互调用
用this调用组件中方法
class T extends Component {
exportTableToExcel = (array,event) => {
debugger
array.sort(this.compare('updatedTime'));
}
compare=(property)=>{ //自定义排序
return function(a,b){
let value1 = a[property];
let value2 = b[property];
//如果为string ,则value1 - value2为NaN,故无法比较
//console.log(typeof(a[property])+value1+' '+value2+' '+(value1 - value2))
let result=0;
if(value1>value2){
result=1;
}else if(value1<value2){
result=-1;
}
return result;
}
}
render(){
<h2>全量KPI----<Button style={{ marginBottom: 10 }} type="primary" onClick={this.exportTableToFullExcel.bind(this,columns,tableComponentData,'title','dataIndex')}>Excel导出</Button></h2>
}
}
export default T;