Angular Material select API 参考文档
import {MatSelectModule} from '@angular/material/select';
指令
MatSelectTrigger
当选择器具有值时,允许用户自定义要显示的触发器。
Allows the user to customize the trigger that is displayed when the select has a value.
MatSelect
属性
名称 | 描述 |
---|---|
@Input('aria-label')
|
此选择器的 Aria 标签。如果没有指定,占位符就会用作此标签。 Aria label of the select. If not specified, the placeholder will be used as label. |
@Input('aria-labelledby')
|
用来指定 Input that can be used to specify the |
@Input()
|
比较选项值和选定值的函数。第一个参数就是选项中的值。第二个参数是选定的值。应该返回一个布尔值。 Function to compare the option values with the selected values. The first argument is a value from an option. The second is a value from the selection. A boolean should be returned. |
@Input()
|
是否要把活动选项置于触发器的中心位置。 Whether to center the active option over the trigger. |
@Input()
|
Whether ripples are disabled. |
@Input()
|
Whether the component is disabled. |
@Input()
|
用于控制何时显示错误信息的对象。 Object used to control when error messages are shown. |
@Input()
|
元素的唯一 id。 Unique id of the element. |
@Input()
|
是否允许用户选择多个选项。 Whether the user should be allowed to select multiple options. |
@Input()
|
要传递给选择器面板的类。语法与 Classes to be passed to the select panel. Supports the same syntax as |
@Input()
|
如果没有选定任何值,就会显示此占位符。 Placeholder to be shown if no value has been selected. |
@Input()
|
该组件是否必填项。 Whether the component is required. |
@Input()
|
函数用于对多选模式选择器中的值进行排序。与 Function used to sort the values in a select in multiple mode.
Follows the same logic as |
@Input()
|
在将焦点移动到某个条目之前,最后一次按键后要等待的时间(以毫秒为单位)。 Time to wait in milliseconds after the last keystroke before moving focus to an item. |
@Input()
|
选择器控件的值。 Value of the select control. |
@Output()
|
切换选择器面板时会发生事件。 Event emitted when the select panel has been toggled. |
@Output()
|
当用户更改了选定值时发出的事件。 Event emitted when the selected value has been changed by the user. |
|
这个控件的名字,可以被 A name for this control that can be used by |
|
|
|
Tabindex to which to fall back to if no value is set. |
|
此选择器是否有值。 Whether the select has a value. |
|
|
|
此选择器是否拥有焦点。 Whether the select is focused. |
|
|
|
|
|
所有子选项的 'change' 事件的组合流。 Combined stream of all of the child options' change events. |
|
|
|
包含选择器选项的面板。 Panel containing the select options. |
|
浮层面板是否打开了。 Whether or not the overlay panel is open. |
|
当前选定的选项。 The currently selected option. |
|
|
|
用于打开选择器的触发器。 Trigger that opens the select. |
|
触发器中显示的值。 The value displayed in the trigger. |
方法
close | |
---|---|
关闭浮层窗格并让宿主元素获得焦点。 Closes the overlay panel and focuses the host element. |
focus | |
---|---|
让此选择器元素获得焦点。 Focuses the select element. |
|
参数 Parameters |
|
options? FocusOptions
|
|
open |
---|
toggle | |
---|---|
浮层面板是否打开或关闭。 Toggles the overlay panel open or closed. |
updateErrorState |
---|
类
MatSelectChange
当选择器的值发生更改后触发的事件对象。
Change event object that is emitted when the select value has changed.
属性
名称 | 描述 |
---|---|
|
Reference to the select that emitted the change event. |
|
Current value of the select that emitted the event. |
接口
MatSelectConfig
可用于配置选择器模块默认选项的对象。
Object that can be used to configure the default options for the select module.
属性
名称 | 描述 |
---|---|
|
是否应禁止选项居中。 Whether option centering should be disabled. |
|
要应用于菜单浮层面板的类或类列表。 Class or list of classes to be applied to the menu's overlay panel. |
|
在将焦点移动到某个条目前,在最后一次按键后要等待的时间(以毫秒为单位)。 Time to wait in milliseconds after the last keystroke before moving focus to an item. |
常量
SELECT_PANEL_MAX_HEIGHT
选择器浮层面板的最大高度。
The max height of the select's overlay panel.
const SELECT_PANEL_MAX_HEIGHT: 256;
SELECT_PANEL_PADDING_X
面板在 x 轴上的衬距。
The panel's padding on the x-axis.
const SELECT_PANEL_PADDING_X: 16;
SELECT_PANEL_INDENT_PADDING_X
面板的 x 轴上的衬距(如果它是缩进的)(比如有一个选项组)。
The panel's x axis padding if it is indented (e.g. there is an option group).
const SELECT_PANEL_INDENT_PADDING_X: number;
SELECT_ITEM_HEIGHT_EM
选择器条目以 em
为单位的高度。
The height of the select items in em
units.
const SELECT_ITEM_HEIGHT_EM: 3;
SELECT_MULTIPLE_PANEL_PADDING_X
面板边缘与多选模式下的选项文本之间的距离。
Distance between the panel edge and the option text in multi-selection mode.
计算公式为:(SELECT_PANEL_PADDING_X * 1.5) + 16 = 40 衬距值要乘以 1.5,因为复选框的边距是衬距的一半。复选框的宽度是 16px。
Calculated as: (SELECT_PANEL_PADDING_X * 1.5) + 16 = 40 The padding is multiplied by 1.5 because the checkbox's margin is half the padding. The checkbox width is 16px.
const SELECT_MULTIPLE_PANEL_PADDING_X: number;
SELECT_PANEL_VIEWPORT_PADDING
当选择器面板位于此值或远离视口边界时,它只会“适应”视口的内部。
The select panel will only "fit" inside the viewport if it is positioned at this value or more away from the viewport boundary.
const SELECT_PANEL_VIEWPORT_PADDING: 8;
MAT_SELECT_SCROLL_STRATEGY
当选择器被打开时,本注入令牌决定滚动时的处理方式。
Injection token that determines the scroll handling while a select is open.
const MAT_SELECT_SCROLL_STRATEGY: InjectionToken<() => ScrollStrategy>;
MAT_SELECT_CONFIG
这个注入令牌可以用来为选择器模块提供默认选项。
Injection token that can be used to provide the default options the select module.
const MAT_SELECT_CONFIG: InjectionToken<MatSelectConfig>;
MAT_SELECT_TRIGGER
这个注入令牌可以用来引用 MatSelectTrigger
的实例。它可以作为实际 MatSelectTrigger
类的备用令牌,直接使用实际类可能导致该类及其元数据无法被优化掉。
Injection token that can be used to reference instances of MatSelectTrigger
. It serves as
alternative token to the actual MatSelectTrigger
class which could cause unnecessary
retention of the class and its directive metadata.
const MAT_SELECT_TRIGGER: InjectionToken<MatSelectTrigger>;
Angular Material select-testing API 参考文档
import {MatSelectHarness} from '@angular/material/select/testing';
类
MatSelectHarness
extends
MatFormFieldControlHarness
在测试中用来与标准 mat-select 进行交互的测试工具。
Harness for interacting with a standard mat-select in tests.
方法
异步
blur
|
|
---|---|
Blurs the select and returns a void promise that indicates when the action is complete. |
|
返回值 Returns |
|
Promise<void>
|
Promise that resolves when the action completes. |
异步
clickOptions
|
|
---|---|
Clicks the options that match the passed-in filter. If the select is in multi-selection mode all options will be clicked, otherwise the harness will pick the first matching option. |
|
参数 Parameters |
|
filter OptionHarnessFilters = {}
|
|
返回值 Returns |
|
Promise<void>
|
Promise that resolves when the action completes. |
异步
close
|
|
---|---|
Closes the select's panel. |
|
返回值 Returns |
|
Promise<void>
|
Promise that resolves when the action completes. |
异步
focus
|
|
---|---|
Focuses the select and returns a void promise that indicates when the action is complete. |
|
返回值 Returns |
|
Promise<void>
|
Promise that resolves when the action completes. |
异步
getOptionGroups
|
|
---|---|
Gets the groups of options inside the panel. |
|
参数 Parameters |
|
filter Pick<OptgroupHarnessFilters, "selector" | "labelText"> = {}
|
|
返回值 Returns |
|
Promise<MatOptgroupHarness[]>
|
|
异步
getOptions
|
|
---|---|
Gets the options inside the select panel. |
|
参数 Parameters |
|
filter Pick<OptionHarnessFilters, "text" | "isSelected" | "selector"> = {}
|
|
返回值 Returns |
|
Promise<MatOptionHarness[]>
|
|
异步
getValueText
|
|
---|---|
Gets a promise for the select's value text. |
|
返回值 Returns |
|
Promise<string>
|
|
异步
host
|
|
---|---|
获取一个代表该组件宿主元素的 Gets a |
|
返回值 Returns |
|
Promise<TestElement>
|
|
异步
isDisabled
|
|
---|---|
Gets a boolean promise indicating if the select is disabled. |
|
返回值 Returns |
|
Promise<boolean>
|
|
异步
isEmpty
|
|
---|---|
Gets a boolean promise indicating if the select is empty (no value is selected). |
|
返回值 Returns |
|
Promise<boolean>
|
|
异步
isFocused
|
|
---|---|
此选择器是否拥有焦点。 Whether the select is focused. |
|
返回值 Returns |
|
Promise<boolean>
|
|
异步
isMultiple
|
|
---|---|
Gets a boolean promise indicating if the select is in multi-selection mode. |
|
返回值 Returns |
|
Promise<boolean>
|
|
异步
isOpen
|
|
---|---|
Gets whether the select is open. |
|
返回值 Returns |
|
Promise<boolean>
|
|
异步
isRequired
|
|
---|---|
Gets a boolean promise indicating if the select is required. |
|
返回值 Returns |
|
Promise<boolean>
|
|
异步
isValid
|
|
---|---|
Gets a boolean promise indicating if the select is valid. |
|
返回值 Returns |
|
Promise<boolean>
|
|
异步
open
|
|
---|---|
Opens the select's panel. |
|
返回值 Returns |
|
Promise<void>
|
Promise that resolves when the action completes. |
接口
SelectHarnessFilters
A set of criteria that can be used to filter a list of MatSelectHarness
instances.