A simple iOS style toggle switch for Angular projects.
Install @bobbyg603/ngx-toggle:
npm i @bobbyg603/ngx-toggleImport the NgxToggleModule module in each module that uses <ngx-toggle>:
import { NgxToggleModule } from '@bobbyg603/ngx-toggle';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
NgxToggleModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }Add <ngx-toggle> to your component's template:
<ngx-toggle
id="toggle-example"
[(checked)]="checked"
[disabled]="false"
(checkedChange)="onCheckedChange($event)">
</ngx-toggle>Be sure to give each toggle a unique id. Failing to give each toggle a unique id will result in clicking one input toggling any inputs with a matching id.
You can also use <ngx-toggle> as a FormControl:
<form [formGroup]="formGroup">
<ngx-toggle class="ms-auto" formControlName="saveForNextTime"></ngx-toggle>
</form>formGroup = new FormGroup({
saveForNextTime: new FormControl(false)
});| Property | Type | Description |
|---|---|---|
| id | string | unique identifier for input |
| checked | boolean | toggle is on (checked) or off |
| disabled | boolean | control is not interactable |
| Property | Type | Description |
|---|---|---|
| checkedChange | EventEmitter<boolean> | Emits new checked value when control has been toggled |
The ngx-toggle-example layout was inspired by Benjamin King's Pricing Cards codepen.