mdui
Version:
实现 material you 设计规范的 Web Components 组件库
138 lines (137 loc) • 6.66 kB
TypeScript
import { MduiElement } from '@mdui/shared/base/mdui-element.js';
import '../circular-progress.js';
import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
type RenderButtonOptions = {
id?: string;
className?: string;
part?: string;
content?: TemplateResult | TemplateResult[];
tabindex?: number;
};
declare const ButtonBase_base: import("@lit/reactive-element/decorators/base.js").Constructor<import("@mdui/shared/mixins/anchor.js").AnchorMixinInterface> & import("@lit/reactive-element/decorators/base.js").Constructor<import("../ripple/ripple-mixin.js").RippleMixinInterface> & import("@lit/reactive-element/decorators/base.js").Constructor<import("@mdui/shared/mixins/focusable.js").FocusableMixinInterface> & typeof MduiElement;
export declare class ButtonBase<E> extends ButtonBase_base<E> {
static styles: CSSResultGroup;
/**
* 是否禁用
*/
disabled: boolean;
/**
* 是否处于加载中状态
*/
loading: boolean;
/**
* 按钮的名称,将与表单数据一起提交。
*
* **Note**:仅在未设置 `href` 属性时,此属性才有效。
*/
name: string;
/**
* 按钮的初始值,将与表单数据一起提交。
*
* **Note**:仅在未设置 `href` 属性时,此属性才有效。
*/
value: string;
/**
* 按钮的类型。默认类型为 `button`。可选类型包括:
*
* * `submit`:点击按钮会提交表单数据到服务器
* * `reset`:点击按钮会将表单中的所有字段重置为初始值
* * `button`:此类型的按钮没有默认行为
*
* **Note**:仅在未指定 `href` 属性时,此属性才有效。
*/
type: /*此按钮将表单数据提交给服务器*/ 'submit' | /*此按钮重置所有组件为初始值*/ 'reset' | /*此按钮没有默认行为*/ 'button';
/**
* 关联的 `<form>` 元素。此属性值应为同一页面中的一个 `<form>` 元素的 `id`。
*
* 如果未指定此属性,则该元素必须是 `<form>` 元素的子元素。通过此属性,你可以将元素放置在页面的任何位置,而不仅仅是 `<form>` 元素的子元素。
*
* **Note**:仅在未指定 `href` 属性时,此属性才有效。
*/
form?: string;
/**
* 指定提交表单的 URL。
*
* 如果指定了此属性,将覆盖 `<form>` 元素的 `action` 属性。
*
* **Note**:仅在未指定 `href` 属性且 `type="submit"` 时,此属性才有效。
*/
formAction?: string;
/**
* 指定提交表单到服务器的内容类型。可选值包括:
*
* * `application/x-www-form-urlencoded`:未指定该属性时的默认值
* * `multipart/form-data`:当表单包含 `<input type="file">` 元素时使用
* * `text/plain`:HTML5 新增,用于调试
*
* 如果指定了此属性,将覆盖 `<form>` 元素的 `enctype` 属性。
*
* **Note**:仅在未指定 `href` 属性且 `type="submit"` 时,此属性才有效。
*/
formEnctype?: /*未指定该属性时的默认值*/ 'application/x-www-form-urlencoded' | /*当表单包含 `<input type="file">` 元素时使用*/ 'multipart/form-data' | /*HTML5 新增,用于调试*/ 'text/plain';
/**
* 指定提交表单时使用的 HTTP 方法。可选值包括:
*
* * `post`:表单数据包含在表单内容中,发送到服务器
* * `get`:表单数据以 `?` 作为分隔符附加到表单的 URI 属性中,生成的 URI 发送到服务器。当表单没有副作用,并且仅包含 ASCII 字符时,使用此方法
*
* 如果设置了此属性,将覆盖 `<form>` 元素的 `method` 属性。
*
* **Note**:仅在未设置 `href` 属性且 `type="submit"` 时,此属性才有效。
*/
formMethod?: /*表单数据包含在表单内容中,发送到服务器*/ 'post' | /*表单数据以 `?` 作为分隔符附加到表单的 URI 属性中,生成的 URI 发送到服务器。当表单没有副作用,并且仅包含 ASCII 字符时,使用此方法*/ 'get';
/**
* 如果设置了此属性,表单提交时将不执行表单验证。
*
* 如果设置了此属性,将覆盖 `<form>` 元素的 `novalidate` 属性。
*
* **Note**:仅在未设置 `href` 属性且 `type="submit"` 时,此属性才有效。
*/
formNoValidate: boolean;
/**
* 提交表单后接收到的响应应显示在何处。可选值包括:
*
* * `_self`:默认选项,在当前框架中打开
* * `_blank`:在新窗口中打开
* * `_parent`:在父框架中打开
* * `_top`:在整个窗口中打开
*
* 如果设置了此属性,将覆盖 `<form>` 元素的 `target` 属性。
*
* **Note**:仅在未设置 `href` 属性且 `type="submit"` 时,此属性才有效。
*/
formTarget?: /*默认选项,在当前框架中打开*/ '_self' | /*在新窗口中打开*/ '_blank' | /*在父框架中打开*/ '_parent' | /*在整个窗口中打开*/ '_top';
private readonly formController;
/**
* 表单验证状态对象,具体参见 [`ValidityState`](https://developer.mozilla.org/zh-CN/docs/Web/API/ValidityState)
*/
get validity(): ValidityState | undefined;
/**
* 如果表单验证未通过,此属性将包含提示信息。如果验证通过,此属性将为空字符串
*/
get validationMessage(): string | undefined;
protected get rippleDisabled(): boolean;
protected get focusElement(): HTMLElement | null;
protected get focusDisabled(): boolean;
/**
* 检查表单字段是否通过验证。如果未通过,返回 `false` 并触发 `invalid` 事件;如果通过,返回 `true`
*/
checkValidity(): boolean;
/**
* 检查表单字段是否通过验证。如果未通过,返回 `false` 并触发 `invalid` 事件;如果通过,返回 `true`。
*
* 如果验证未通过,还会在组件上显示验证失败的提示。
*/
reportValidity(): boolean;
/**
* 设置自定义的错误提示文本。只要这个文本不为空,就表示字段未通过验证
*
* @param message 自定义的错误提示文本
*/
setCustomValidity(message: string): void;
protected firstUpdated(_changedProperties: PropertyValues): void;
protected renderLoading(): TemplateResult;
protected renderButton({ id, className, part, content, }: RenderButtonOptions): TemplateResult;
protected isButton(): boolean;
}
export {};