mrmyroll2 / NgScrollPicker

https://mrmyroll2.github.io/NgScrollPicker/
MIT License
4 stars 1 forks source link
angular ios scroll select typescript

NgScrollPicker - Angular Scroll Picker

NgScrollPicker is an Angular package inspired by ng-data-picker that provides a scroll picker component for selecting various options. You can find a live demo of the NgScrollPicker here.

Features

Installation

ng-scroll-picker

npm install ng-scroll-picker

Usage

  1. Import the 'NgScrollPickerModule'into your Angular module:
import { NgModule } from "@angular/core";
import { NgScrollPickerModule } from "ng-scroll-picker";

@NgModule({
  declarations: [
    /* ... */
  ],
  imports: [
    /* ... */
    NgScrollPickerModule,
  ],
  /* ... */
})
export class AppModule {}
  1. Use the ng-scroll-picker component in your template:
<ng-scroll-picker [data]="data" (change)="change($event)"></ng-scroll-picker>
  1. Create the necessary properties in your component
import { Component, OnInit } from "@angular/core";
import { PickerDataModel, PickerValueModel, PickerResponseModel } from "ng-scroll-picker";

@Component({
  selector: "app-basic",
  templateUrl: "./basic.component.html",
  styleUrls: ["./basic.component.scss"],
})
export class BasicComponent implements OnInit {
  selectedValue: any;

  data: PickerDataModel[] = [
    {
      textAlign: "start",
      weight: 9,
      className: undefined,
      onClick: (gIndex: any, iIndex: any, selectedValue: any) => {
        console.log("selectedValue", selectedValue);
      },
      currentIndex: 0,
      list: [],
      divider: false,
      text: "test",
      groupName: "test",
    },
  ];

  ngOnInit() {
    const malaysianBanks: PickerValueModel[] = [
      { label: "Maybank", value: "MBB" },
      { label: "CIMB Bank", value: "CIMB" },
      { label: "Public Bank", value: "PBB" },
      { label: "RHB Bank", value: "RHB" },
      { label: "Hong Leong Bank", value: "HLB" },
      { label: "AmBank", value: "AMB" },
      { label: "Bank Islam Malaysia", value: "BIMB" },
      { label: "OCBC Bank", value: "OCBC" },
      { label: "HSBC Bank Malaysia", value: "HSBC" },
      { label: "Standard Chartered Bank Malaysia", value: "SCB" },
    ];

    this.data[0].list = malaysianBanks;
    this.selectedValue = this.data[0].list[0].value;
  }

  change(res: PickerResponseModel) {
    this.selectedValue = this.data[res.gIndex].list[res.iIndex].value;
  }
}

Contributing

We welcome contributions from the community. Feel free to submit issues, feature requests, and pull requests on our GitHub repository.