Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何在离子收音机用作组件的情况下使用setValue和getValue_Angular_Ionic Framework_Ionic4_Angular Reactive Forms_Controlvalueaccessor - Fatal编程技术网

Angular 如何在离子收音机用作组件的情况下使用setValue和getValue

Angular 如何在离子收音机用作组件的情况下使用setValue和getValue,angular,ionic-framework,ionic4,angular-reactive-forms,controlvalueaccessor,Angular,Ionic Framework,Ionic4,Angular Reactive Forms,Controlvalueaccessor,我正在创建一个带有单选按钮的组件,在以被动形式使用该组件时,需要设置和获取其值。此外,我需要能够有一个默认的收音机选择。最好的办法是什么 我的单选按钮.component.html: <ion-list> <ion-radio-group *ngIf="orientation === 'horizontal'"> <ion-row> <ion-col *ngFor="let options of items">

我正在创建一个带有单选按钮的组件,在以被动形式使用该组件时,需要设置和获取其值。此外,我需要能够有一个默认的收音机选择。最好的办法是什么

我的单选按钮.component.html:

<ion-list>
  <ion-radio-group *ngIf="orientation === 'horizontal'">
    <ion-row>
      <ion-col *ngFor="let options of items">
        <ion-item lines="none">
          <ion-label>{{ options.value }}</ion-label>
          <ion-radio
            mode="md"
            slot="start"
            [value]="options.id"
            (click)="selectOption(options)"
            [disabled]="formControlRadio.disabled"
          ></ion-radio>
        </ion-item>
      </ion-col>
    </ion-row>
  </ion-radio-group>
</ion-list>
app.component.html:

<some form>
<comp-radio-button
  name="radioBtn"
  [items]="radioItems"
  orientation="horizontal"
  formControlName="radio"
  [formControlRadio]="formControlRadioInput">
</comp-radio-button>
我需要能够在这些方面做一些事情:

constructor(){
    this.formControlRadioInput = new FormControl({ value: 'op1', disabled: false }, [Validators.required]);
}

OR
 this.formControlRadioInput.setValue('op1')

如果你还没有弄明白这一点,我建议你使用下面的代码

html:

希望这有帮助,干杯

formControlRadioInput: FormControl;
  radioItems = [
    { value: 'Option 1', id: 'op1' },
    { value: 'Option 2', id: 'op2' },
    { value: 'Option 3', id: 'op3' },
    { value: 'Option 4', id: 'op4' }
  ]
constructor(){
    this.formControlRadioInput = new FormControl({ value: 'op1', disabled: false }, [Validators.required]);
}

OR
 this.formControlRadioInput.setValue('op1')
  <form [formGroup]="myForm">
<ion-radio-group (ionChange)="radioSelected($event)" formControlName="myRadio">
  <ion-item lines="none" *ngFor="let r of radioItems;">
      <ion-label>{{r.value}}</ion-label>
      <ion-radio slot="start" value="{{r.id}}"></ion-radio>
  </ion-item>
    myForm: FormGroup;

    this.myForm = new FormGroup({
      myRadio: new FormControl('op2', [Validators.required]),
    });

    this.radioItems = [
    { value: 'Option 1', id: 'op1' },
    { value: 'Option 2', id: 'op2' },
    { value: 'Option 3', id: 'op3' },
    { value: 'Option 4', id: 'op4' }
  ]