<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://10.3.0.100/tutorials/index.php?action=history&amp;feed=atom&amp;title=Custom_Select_Component_%28AngularForm%29</id>
	<title>Custom Select Component (AngularForm) - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="http://10.3.0.100/tutorials/index.php?action=history&amp;feed=atom&amp;title=Custom_Select_Component_%28AngularForm%29"/>
	<link rel="alternate" type="text/html" href="http://10.3.0.100/tutorials/index.php?title=Custom_Select_Component_(AngularForm)&amp;action=history"/>
	<updated>2026-04-15T17:55:24Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Tutorials</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>http://10.3.0.100/tutorials/index.php?title=Custom_Select_Component_(AngularForm)&amp;diff=5449&amp;oldid=prev</id>
		<title>Martin Kirner: Die Seite wurde neu angelegt: „&lt;pre&gt; import { Component, OnInit, forwardRef, Input } from &#039;@angular/core&#039;; import { ControlValueAccessor, NG_VALUE_ACCESSOR } from &#039;@angular/forms&#039;;  import {…“</title>
		<link rel="alternate" type="text/html" href="http://10.3.0.100/tutorials/index.php?title=Custom_Select_Component_(AngularForm)&amp;diff=5449&amp;oldid=prev"/>
		<updated>2018-12-24T16:38:56Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „&amp;lt;pre&amp;gt; import { Component, OnInit, forwardRef, Input } from &amp;#039;@angular/core&amp;#039;; import { ControlValueAccessor, NG_VALUE_ACCESSOR } from &amp;#039;@angular/forms&amp;#039;;  import {…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
import { Component, OnInit, forwardRef, Input } from &amp;#039;@angular/core&amp;#039;;&lt;br /&gt;
import { ControlValueAccessor, NG_VALUE_ACCESSOR } from &amp;#039;@angular/forms&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import { VideoArchiveService } from &amp;#039;src/app/shared/video-archive.service&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
@Component({&lt;br /&gt;
  selector: &amp;#039;vac-actor-country-combo-box&amp;#039;,&lt;br /&gt;
  templateUrl: &amp;#039;./actor-country-combo-box.component.html&amp;#039;,&lt;br /&gt;
  styleUrls: [&amp;#039;./actor-country-combo-box.component.css&amp;#039;],&lt;br /&gt;
  providers: [&lt;br /&gt;
    {&lt;br /&gt;
      provide: NG_VALUE_ACCESSOR,&lt;br /&gt;
      useExisting: forwardRef(() =&amp;gt; ActorCountryComboBoxComponent),&lt;br /&gt;
      multi: true&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
})&lt;br /&gt;
export class ActorCountryComboBoxComponent implements OnInit, ControlValueAccessor {&lt;br /&gt;
  @Input()&lt;br /&gt;
  name: string;&lt;br /&gt;
&lt;br /&gt;
  // tslint:disable-next-line:no-input-rename&lt;br /&gt;
  @Input(&amp;#039;value&amp;#039;)&lt;br /&gt;
  val: string;&lt;br /&gt;
&lt;br /&gt;
  isDisabled: boolean;&lt;br /&gt;
&lt;br /&gt;
  private countries: string[];&lt;br /&gt;
&lt;br /&gt;
  onChange: any = () =&amp;gt; { };&lt;br /&gt;
  onTouched: any = () =&amp;gt; { };&lt;br /&gt;
&lt;br /&gt;
  constructor(&lt;br /&gt;
    private videoService: VideoArchiveService&lt;br /&gt;
  ) { }&lt;br /&gt;
&lt;br /&gt;
  ngOnInit() {&lt;br /&gt;
    this.videoService.getActorCountries().subscribe(countries =&amp;gt; this.countries = countries);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  get value() {&lt;br /&gt;
    return this.val;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  set value(val) {&lt;br /&gt;
    this.val = val;&lt;br /&gt;
    this.onChange(val);&lt;br /&gt;
    this.onTouched();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  writeValue(value: any): void {&lt;br /&gt;
    if (value) {&lt;br /&gt;
      this.val = value;&lt;br /&gt;
    } else {&lt;br /&gt;
      this.val = &amp;#039;&amp;#039;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  registerOnChange(fn: any): void {&lt;br /&gt;
    this.onChange = fn;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  registerOnTouched(fn: any): void {&lt;br /&gt;
    this.onTouched = fn;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  setDisabledState(isDisabled: boolean) {&lt;br /&gt;
    this.isDisabled = isDisabled;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;select *ngIf=isDisabled [name]=&amp;quot;name&amp;quot; [(ngModel)]=&amp;quot;value&amp;quot; disabled&amp;gt;&lt;br /&gt;
  &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;option *ngFor=&amp;quot;let country of countries&amp;quot; [value]=&amp;quot;country&amp;quot;&amp;gt;{{country}}&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/select&amp;gt;&lt;br /&gt;
&amp;lt;select *ngIf=!isDisabled [name]=&amp;quot;name&amp;quot; [(ngModel)]=&amp;quot;value&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;option *ngFor=&amp;quot;let country of countries&amp;quot; [value]=&amp;quot;country&amp;quot;&amp;gt;{{country}}&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/select&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Angular#Custom Form Controls|Angular]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
</feed>