td-chips
td-chips
element generates a list of strings or objects as chips.
Add the [items] attribute to enable the autocomplete with a list, and [requireMatch] to not allow custom values.
Leverage the templates to create your own chip or contact chip.
API Summary
Inputs
- color?: ‘primary’ | ‘accent’ | ‘warn’
- color for the input and focus state of the chips. Defaults to ‘primary’
- items?: any[]
- Renders the
mat-autocomplete
with the provided list to display as options.
- requireMatch?: boolean
- Blocks custom inputs and only allows selections from the autocomplete list.
- stacked?: boolean
- Set stacked or horizontal chips depending on value. Defaults to false.
- inputPosition?: before | after
- Set input position before or after the chips. Defaults to ‘after’.
- placeholder?: string
- Placeholder for the autocomplete input.
- required?: boolean
- Mandates at least one chip to be available in the component. Appends * to the placeholder text.
- It does not prevent the deletion of last chip but instead sets the input field to warn state
- Defaults to false
- disabled?: boolean
- Sets disabled state and disabled addition/removal of chips.
- chipAddition?: boolean
- Enables the ability to add chips. When setting disabled as true, this will be overriden.
- chipRemoval?: boolean
- Enables the ability to remove chips. When setting disabled as true, this will be overriden.
- debounce?: number
- Debounce timeout between keypresses. Defaults to 200.
- compareWith? function
- Function used to check whether a chip value already exists.
- Defaults to strict equality comparison ===
Events
- add?: function
- Method to be executed when a chip is added. Sends chip value as event.
- remove?: function
- Method to be executed when a chip is removed. Sends chip value as event.
- chipBlur?: function
- Method to be executed when a chip is blurred. Sends chip value as event.
- chipFocus?: function
- Method to be executed when a chip is focused. Sends chip value as event.
- inputChange?: function
- Method to be executed when the value in the autocomplete input changes. Sends string value as event.
Setup
Import the [CovalentChipsModule] in your NgModule:
import { CovalentChipsModule } from '@covalent/core/chips';
@NgModule({
imports: [
CovalentChipsModule,
...
],
...
})
export class MyModule {}
Usage
Example for HTML usage:
<td-chips placeholder="placeholder" required
color="primary"
[items]="items"
[inputPosition]="'before'"
[(ngModel)]="model"
[disabled]="disabled"
[chipAddition]="chipAddition"
[chipRemoval]="chipRemoval"
[compareWith]="compareWith"
(add)="addEvent($event)"
(remove)="removeEvent($event)"
(chipBlur)="handleChipBlur($event)"
(chipFocus)="handleChipFocus($event)"
(inputChange)="inputChange($event)"
requireMatch
stacked>
<ng-template td-chip let-chip="chip">
<div td-chip-avatar>A</div> {{chip}}
</ng-template>
<ng-template td-autocomplete-option let-option="option">
{{option}}
</ng-template>
// anything below it
</td-chips>