@mdui/jq
Version:
拥有和 jQuery 相似 API 的轻量级 JavaScript 工具库
31 lines (30 loc) • 1.19 kB
TypeScript
/**
* 表单控件的值
*/
export type FormControlValue = string | number | boolean | (string | number | boolean)[];
/**
* 表单控件接口,所有表单控件组件都要实现该接口
*/
export interface FormControl extends Element {
name: string;
value: FormControlValue;
checked?: boolean;
disabled: boolean;
defaultValue?: FormControlValue;
defaultChecked?: boolean;
form?: string;
checkValidity: () => boolean;
reportValidity: () => boolean;
setCustomValidity: (message: string) => void;
}
/**
* 使用该 WeakMap 来存储指定表单中所有的 mdui 表单控件
* 在每个表单控件的 hostConnected 中添加、hostDisconnected 中移除对应表单的 mdui 表单控件,
* 然后在 getFormControls 方法中就能获取到表单中所有的 mdui 表单控件
*/
export declare const formCollections: WeakMap<HTMLFormElement, Set<FormControl>>;
/**
* 获取表单中的所有表单控件,包含原生和 mdui 表单控件
* 原生的 `HTMLFormElement.elements` 仅返回原生表单控件,不包含 mdui 表单控件
*/
export declare const getFormControls: (form: HTMLFormElement) => Array<Element | FormControl>;