如何重置对象中的属性值?
How to reset value of properties in object?
我有自定义类型对象:
export interface IPupilFilter {
Fullname: string;
Gender: string;
ClassType: number;
Language: number;
Class: number;
ClassNumber: number;
Phone: string;
Movement: string;
}
public requestLoadPupils: IPupilFilter = <IPupilFilter>{};
在填表的过程中,该对象被填入对应的界面。
如何重置所有值属性并设置为空?
我试过了:
this.requestLoadPupils = <IPupilFilter>{} as IPupilFilter;
我可以像这样重置每个 属性:this.requestLoadPupils.Gender = null;
但我不喜欢那样
您将为此使用 Partial。
public requestLoadPupils: Partial<IPupilFilter> = {};
然后您可以通过将对象分配给一个新的空对象来清除该对象。
this.requestLoadPupils = {};
然后当您完全确定表单已完全填写时,您可以将其恢复为完整的 IPupilFilter
。
const pupilFilter = this.requestLoadPupils as IPupilFilter;
当你用 Partial 包装一个接口时,它基本上等同于使所有项目都是可选的。所以
type PartialIPupilFilter = Partial<IPupilFilter>
等同于:
interface PartialIPupilFilter {
Fullname?: string;
Gender?: string;
ClassType?: number;
Language?: number;
Class?: number;
ClassNumber?: number;
Phone?: string;
Movement?: string;
}
所有元素仍然是类型化的,但您不需要在实例化时设置它们。
我有自定义类型对象:
export interface IPupilFilter {
Fullname: string;
Gender: string;
ClassType: number;
Language: number;
Class: number;
ClassNumber: number;
Phone: string;
Movement: string;
}
public requestLoadPupils: IPupilFilter = <IPupilFilter>{};
在填表的过程中,该对象被填入对应的界面。
如何重置所有值属性并设置为空?
我试过了:
this.requestLoadPupils = <IPupilFilter>{} as IPupilFilter;
我可以像这样重置每个 属性:this.requestLoadPupils.Gender = null;
但我不喜欢那样
您将为此使用 Partial。
public requestLoadPupils: Partial<IPupilFilter> = {};
然后您可以通过将对象分配给一个新的空对象来清除该对象。
this.requestLoadPupils = {};
然后当您完全确定表单已完全填写时,您可以将其恢复为完整的 IPupilFilter
。
const pupilFilter = this.requestLoadPupils as IPupilFilter;
当你用 Partial 包装一个接口时,它基本上等同于使所有项目都是可选的。所以
type PartialIPupilFilter = Partial<IPupilFilter>
等同于:
interface PartialIPupilFilter {
Fullname?: string;
Gender?: string;
ClassType?: number;
Language?: number;
Class?: number;
ClassNumber?: number;
Phone?: string;
Movement?: string;
}
所有元素仍然是类型化的,但您不需要在实例化时设置它们。