0.1.7 • Published 6 years ago

ng2-simple-select v0.1.7

Weekly downloads
3
License
MIT
Repository
github
Last release
6 years ago

AngularX Simple Select

Works with Angular Final and AOT compilation

Just a <select> tag to work with Reactive Forms or NgModel in AngularX

Quick start options

  • Clone the repo: git clone https://github.com/demo-igor/ng2-simple-select.git.
  • Install with npm: npm install ng2-simple-select --save.

Usage

Import SimpleSelectComponent into your @NgModule.

import { SimpleSelectModule } from 'ng2-simple-select';


@NgModule({
  // ...
  imports: [
    SimpleSelectModule,
  ]
  // ...
})

Define options in your consuming component:

import { SimpleSelectOption } from 'ng2-simple-select';


export class MyClass implements OnInit {
  optionsModel: number[];
  myOptions: SimpleSelectOption[];

  ngOnInit() {
    this.myOptions = [
      { name: 'Bananas', value: 1 },
      { name: 'Apples', value: 2 },
      { name: 'Tomatoes', value: 3 }
    ];
  }
  onChange() {
    console.log(this.optionsModel);
  }
}

In your template, use the component directive:

<simple-select
  [options]="myOptions"
  [(ngModel)]="optionsModel"
  (ngModelChange)="onChange($event)"
  >
</simple-select>

Customize

Settings

Setting ItemDescriptionDefault Value
isMultipleThe multiple <select> attributefalse
showDefaultOptionThe first empty option displayingtrue
defaultOptionValueThe first empty option value''

Texts

Text ItemDescriptionDefault Value
defaultOptionThe text for the first empty option'Select'

Import any of the SimpleSelectSettings, SimpleSelectTexts interfaces to enable/override settings or texts:

// Default selection
optionsModel: number[] = [1, 2];

// Settings configuration
mySettings: SimpleSelectSettings = {
  isMultiple: true,
  showDefaultOption: false,
  defaultOptionValue: ''
};

// Text configuration
myTexts: SimpleSelectTexts = {
  defaultOption: 'Select some item'
};

// Options
myOptions: SimpleSelectOption[] = [
  { name: 'Bananas', value: 1 },
  { name: 'Apples', value: 2 },
  { name: 'Tomatoes', value: 3 }
];
<simple-select
  [options]="myOptions"
  [texts]="myTexts"
  [settings]="mySettings"
  [(ngModel)]="optionsModel"
  >
</simple-select>

Other examples

Use model driven forms with ReactiveFormsModule:

import { SimpleSelectOption } from 'ng2-simple-select';


export class MyClass implements OnInit {
  model: number[];
  myOptions: SimpleSelectOption[] = [
    { name: 'Bananas', value: 1 },
    { name: 'Apples', value: 2 },
    { name: 'Tomatoes', value: 3 }
  ];

  ngOnInit() {
    this.myForm = this.formBuilder.group({
      optionsModel: [1, 2], // Default model
    });

    this.myForm.controls['optionsModel'].valueChanges
      .subscribe((selectedOptions: any) => {
        // changes
      });
  }
}
<form [formGroup]="myForm">
  <simple-select
    [options]="myOptions"
    formControlName="optionsModel"
  >
  </simple-select>
</form>

License

MIT

0.1.7

6 years ago

0.1.6

6 years ago

0.1.5

7 years ago

0.1.4

7 years ago

0.1.3

7 years ago

0.1.21

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago

0.0.22

7 years ago

0.0.21

7 years ago

0.0.20

7 years ago

0.0.19

7 years ago

0.0.18

7 years ago

0.0.17

7 years ago

0.0.16

7 years ago

0.0.15

7 years ago

0.0.14

7 years ago

0.0.13

7 years ago

0.0.12

7 years ago

0.0.10

7 years ago

0.0.9

7 years ago

0.0.8

7 years ago

0.0.7

7 years ago

0.0.6

7 years ago

0.0.5

7 years ago

0.0.4

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago