Chip 纸片
纸片组件用于辅助用户输入信息、进行选择、筛选内容或执行相关操作。
使用方法
按需导入组件:
import 'mdui/components/chip.js';
按需导入组件的 TypeScript 类型:
import type { Chip } from 'mdui/components/chip.js';
使用示例:
<mdui-chip>Chip</mdui-chip>
示例
形状
使用 variant
属性设置纸片的形状。纸片有 4 种形状,可以根据用途选择:
assist
:用于显示与当前上下文相关的辅助操作。例如,在点餐页面,提供分享,收藏等功能。filter
:用于对内容进行筛选。例如,在搜索结果页,对搜索结果进行过滤。input
:用于表示用户输入的信息片段。例如,在 Gmail 中的“收件人”字段中的联系人。suggestion
:用于提供动态生成的推荐信息,以简化用户操作。例如,在聊天应用中猜测用户可能想发送的信息,供用户选择。
阴影
添加 elevated
属性可以使纸片拥有阴影。
图标
添加 icon
、end-icon
属性,可以分别在纸片左侧、右侧添加 Material Icons 图标。也可以通过 icon
、end-icon
slot 在纸片左侧、右侧添加元素。
链接
添加 href
属性,可以使纸片变为链接,此时还可以使用这些和链接相关的属性:download
、target
、rel
。
禁用及加载中状态
添加 disabled
属性可以禁用纸片;添加 loading
属性可以为纸片添加加载中状态。
可选中
添加 selectable
属性可以使纸片可被选中。
使用 selected-icon
属性可以指定选中状态的 Material Icons 图标名称。也可以通过 selected-icon
slot 指定选中状态的图标元素。
纸片被选中后,selected
属性变为 true
。也可以通过添加 selected
属性,使纸片默认处于选中状态。
可删除
添加 deletable
属性后,纸片右侧会出现一个删除图标。点击该图标会触发 delete
事件。您可以通过 delete-icon
属性指定删除图标的 Material Icons 图标名,或者通过 delete-icon
slot 指定删除图标的元素。
API
属性
HTML 属性 | JavaScript 属性 | Reflect | 类型 | 默认值 |
---|---|---|---|---|
variant | variant | 'assist' | 'filter' | 'input' | 'suggestion' | 'assist' | |
纸片的形状。可选值包括:
| ||||
elevated | elevated | boolean | false | |
是否显示阴影 | ||||
selectable | selectable | boolean | false | |
是否可选中 | ||||
selected | selected | boolean | false | |
是否已选中 | ||||
deletable | deletable | boolean | false | |
是否可删除。为 | ||||
icon | icon | string | - | |
左侧的 Material Icons 图标名。也可以通过 | ||||
selected-icon | selectedIcon | string | - | |
选中状态下左侧的 Material Icons 图标名。也可以通过 | ||||
end-icon | endIcon | string | - | |
右侧的 Material Icons 图标名。也可以通过 | ||||
delete-icon | deleteIcon | string | - | |
可删除时,右侧删除图标的 Material Icons 图标名。也可以通过 | ||||
href | href | string | - | |
链接的目标 URL。 如果设置了此属性,组件内部将渲染为 | ||||
download | download | string | - | |
下载链接的目标。 Note:仅在设置了 | ||||
target | target | '_blank' | '_parent' | '_self' | '_top' | - | |
链接的打开方式。可选值包括:
Note:仅在设置了 | ||||
rel | rel | 'alternate' | 'author' | 'bookmark' | 'external' | 'help' | 'license' | 'me' | 'next' | 'nofollow' | 'noreferrer' | 'opener' | 'prev' | 'search' | 'tag' | - | |
当前文档与被链接文档之间的关系。可选值包括:
Note:仅在指定了 | ||||
autofocus | autofocus | boolean | false | |
是否在页面加载完成后自动获取焦点 | ||||
tabindex | tabIndex | number | - | |
元素在使用 Tab 键切换焦点时的顺序 | ||||
disabled | disabled | boolean | false | |
是否禁用 | ||||
loading | loading | boolean | false | |
是否处于加载中状态 | ||||
name | name | string | '' | |
按钮的名称,将与表单数据一起提交。 Note:仅在未设置 | ||||
value | value | string | '' | |
按钮的初始值,将与表单数据一起提交。 Note:仅在未设置 | ||||
type | type | 'submit' | 'reset' | 'button' | 'button' | |
按钮的类型。默认类型为
Note:仅在未指定 | ||||
form | form | string | - | |
关联的 如果未指定此属性,则该元素必须是 Note:仅在未指定 | ||||
formaction | formAction | string | - | |
指定提交表单的 URL。 如果指定了此属性,将覆盖 Note:仅在未指定 | ||||
formenctype | formEnctype | 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain' | - | |
指定提交表单到服务器的内容类型。可选值包括:
如果指定了此属性,将覆盖 Note:仅在未指定 | ||||
formmethod | formMethod | 'post' | 'get' | - | |
指定提交表单时使用的 HTTP 方法。可选值包括:
如果设置了此属性,将覆盖 Note:仅在未设置 | ||||
formnovalidate | formNoValidate | boolean | false | |
如果设置了此属性,表单提交时将不执行表单验证。 如果设置了此属性,将覆盖 Note:仅在未设置 | ||||
formtarget | formTarget | '_self' | '_blank' | '_parent' | '_top' | - | |
提交表单后接收到的响应应显示在何处。可选值包括:
如果设置了此属性,将覆盖 Note:仅在未设置 | ||||
validity | ValidityState | - | ||
表单验证状态对象,具体参见 | ||||
validationMessage | string | - | ||
如果表单验证未通过,此属性将包含提示信息。如果验证通过,此属性将为空字符串 |
方法
名称 | 参数 | 返回值 |
---|---|---|
click | void | |
模拟鼠标点击元素 | ||
focus |
| void |
将焦点设置到当前元素。 可以传入一个对象作为参数,该对象的属性包括:
| ||
blur | void | |
移除当前元素的焦点 | ||
checkValidity | boolean | |
检查表单字段是否通过验证。如果未通过,返回 | ||
reportValidity | boolean | |
检查表单字段是否通过验证。如果未通过,返回 如果验证未通过,还会在组件上显示验证失败的提示。 | ||
setCustomValidity |
| void |
设置自定义的错误提示文本。只要这个文本不为空,就表示字段未通过验证 |
Slots
名称 |
---|
默认 |
纸片文本 |
icon |
左侧元素 |
end-icon |
右侧元素 |
selected-icon |
选中状态下的左侧元素 |
delete-icon |
可删除时的右侧删除元素 |
CSS Parts
名称 |
---|
button |
内部的 |
label |
纸片文本 |
icon |
左侧图标 |
end-icon |
右侧图标 |
selected-icon |
选中状态下的左侧图标 |
delete-icon |
可删除时的右侧删除图标 |
loading |
加载中状态的 |
CSS 自定义属性
名称 |
---|
--shape-corner |
组件的圆角大小。可以指定一个具体的像素值;但更推荐引用设计令牌 |