--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "techos".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+un...@googlegroups.com.
Pour envoyer un message à ce groupe, envoyez un e-mail à l'adresse tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.
export class Address{
addressName?:string;
streetNo?:string;
postcode?:string;
city?:string;
country?:string;
}
export class Customer {
firstName?:string;
lastName?:string;
email?:string;
dateOfBirth?:string;
addresses?:Address[];
}
import * as React from "react";
export interface IAATextFieldsProps<T> {
name: keyof T; // all magic is here
label?: string;
labelPosition?: "left"|"top"|"placeholder"; // aussi compile time check + completion dans IDE
// ....
}
export class AATextField<T> extends React.Component<IAATextFieldsProps<T>> {
render() {....}
}
<AATextField<Customer> name="firstName" label="First Name"/>
<AATextField<Customer> name="lastName" label="Last Name"/>
const dynaProps:IAATextFieldsProps<Address>={label:"City", name:"city" /* compile time check here for "city" */};
return <AATextField<Address> {...dynaProps}/>;