Skip to content

An Ionic-based versatile and highly customizable component that serves as a replacement to Ionic Select, and allows to search items, create items, customize the layout with templates and much more.

License

Notifications You must be signed in to change notification settings

OlegPlyuta/ionic-selectable

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ionic Selectable v5(alpha) is here

@ionic-selectable/core for Vanilla JS

@ionic-selectable/angular for Angular

  • Made with stencil
  • Web components
  • Suport for Vainilla JS
  • Suport for Angular
  • Other frameworks support is coming!!!
  • More info

Ionic Selectable

npm npm npm

Demo | Features | Getting started | FAQ | Docs

An Ionic component similar to Ionic Select, that allows to search items, including async search, infinite scrolling and more.

iOS Demo

Contents

Supported Ionic versions

  • Ionic 3 (3.6.0 - 3.9.2)
  • Ionic 4 (>=4.0.0)

Features

Getting started

  1. Install it.
// Ionic 3
npm install [email protected] --save

// Ionic 4
npm install [email protected] --save
  1. Import it.
    First, import IonicSelectableModule to your app.module.ts that is normally located in src\app\app.module.ts.
import { IonicSelectableModule } from 'ionic-selectable';

@NgModule({
  imports: [
    IonicSelectableModule
  ]
})
export class AppModule { }

Note: Additionally, if you use Ionic 3+ you might be as well using lazy loaded pages. Check if your pages have a module file, for example, home.module.ts, and if they do then import IonicSelectableModule to each page module too.

import { IonicSelectableModule } from 'ionic-selectable';
import { HomePage } from './home';

@NgModule({
  declarations: [
    HomePage
  ],
  imports: [
    IonicPageModule.forChild(HomePage),
    IonicSelectableModule
  ]
})
export class HomePageModule { }

  1. Add it to template.
<ion-item>
  <ion-label>Port</ion-label>
  <ionic-selectable
    item-content // Required for Ionic 3 only.
    [(ngModel)]="port"
    [items]="ports"
    itemValueField="id"
    itemTextField="name"
    [canSearch]="true"
    (onChange)="portChange($event)">
  </ionic-selectable>
</ion-item>
  1. Configure it.
import { IonicSelectableComponent } from 'ionic-selectable';

class Port {
  public id: number;
  public name: string;
}

@Component({ ... })
export class HomePage {
  ports: Port[];
  port: Port;

  constructor() {
    this.ports = [
      { id: 1, name: 'Tokai' },
      { id: 2, name: 'Vladivostok' },
      { id: 3, name: 'Navlakhi' }
    ];
  }

  portChange(event: {
    component: IonicSelectableComponent,
    value: any
  }) {
    console.log('port:', event.value);
  }
}
  1. Enjoy it 😉
  2. Check out live demos to see what it is capable of.
    Also, explore the docs and FAQ to learn more about its features.

Development

For contribution and delevopment please refer to Contribution.

Share it

If you find this component useful, please star the repo to let others know that it's reliable. Also, share it with friends and colleagues who might find it useful as well. Thank you 😄

About

An Ionic-based versatile and highly customizable component that serves as a replacement to Ionic Select, and allows to search items, create items, customize the layout with templates and much more.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 70.2%
  • HTML 25.2%
  • SCSS 2.6%
  • JavaScript 2.0%