A simple iOS style toggle switch for Angular projects.
Install @bobbyg603/ngx-toggle
:
npm i @bobbyg603/ngx-toggle
Import 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.