чекбокс Dynami c Форма возврата true и false angular 9 - PullRequest
0 голосов
/ 02 апреля 2020
  1. У меня проблема с возвратом выходных данных из списка флажков ... где, когда я выбираю значение и отправляю, значение будет возвращать true или false. Может ли кто-нибудь помочь мне, как вернуть значение, отличное от истинного или ложного? Я использую Angular. Здесь я показал свой код:

    dynamicformques.component. html

    <div [ngSwitch]="question.controlType">
    
        <input *ngSwitchCase="'textbox'" [formControlName]="question.key"
                [id]="question.key" [type]="question.type">
    
      <select [id]="question.key" *ngSwitchCase="'dropdown'" [formControlName]="question.key">
          <option *ngFor="let opt of question.options" type="dropdown" [value]="opt.key">{{opt.value}}</option>  
      </select>
    
      <div *ngSwitchCase="'radio'">
    
        <label *ngFor ="let opt of question.options">
          <input type="radio" [name]="question.key" [formControlName]="question.key" [value]="opt.id">{{opt.value}}
        </label>
      </div>
    
      <div *ngSwitchCase="'checkbox'">
        <label *ngFor ="let opt of question.options">
          <input type="checkbox" [name]="question.key" [formControlName]="question.key" [value]="opt.value">{{opt.value}}
        </label>
      </div>
    </div>
    
    <div class="errorMessage" *ngIf="!isValid">{{question.label}} is required</div>
    

    , и это мой код для вопроса .service.text :

    let questions: QuestionBase<string>[] = [
    
      new RadiobuttonQuestion({
        key: 'size',
        label: 'Size of the cake:',
        type: 'radio',
        options: [
          {id: 'cakesix', value: 'Round Cake 6" - serves 8 people'},
          {id: 'cakeeight', value: 'Round Cake 8" - serves 12 people'},
          {id: 'caketen', value: 'Round Cake 10" - serves 16 people'},
          {id: 'caketwelve', value: 'Round Cake 12" - serves 30 people'}
        ],
    
        order: 1
    
      }),
    
      new DropdownQuestion({
        key: 'flavour',
        label: 'Select flavour:',
        type:'dropdown',
        options: [
          {key: 'lemon', value: 'Lemon'},
          {key: 'custard', value: 'Custard'},
          {key: 'fudge', value: 'Fudge'},
          {key: 'mocha', value: 'Mocha'},
          {key: 'raspberry', value: 'Raspberry'}
        ],
        order: 2
      }),
    
      new CheckboxlistQuestion({
        key: 'fill',
        label: 'Fillings:',
        type: 'checkbox',
        options: [
          {num: 'lemon', value: 'Lemon'},
          {num: 'custard', value: 'Custard'},
          {num: 'fudge', value: 'Fudge'},
          {num: 'mocha', value: 'Mocha'},
          {num: 'raspberry', value: 'Raspberry'}
    
        ],
        order: 3
    
      }),
    
      new TextboxQuestion({
        key: 'CustomerName',
        label: 'Name:',
        value: 'raihan',
        required: true,
        order: 4
    
      }),
    
      new TextboxQuestion({
        key: 'CustomerAddress',
        label: 'Address:',
        value: 'puchong',
        required: true,
        order: 5
      }),
    
      new TextboxQuestion({
        key: 'CustomerPhone',
        label: 'Phone number:',
        value: '0122122122',
        required: true,
        order: 6
      })
    ];
    
    return of(questions.sort((a,b) => a.order - b.order));
    

    }}

  2. У меня проблема только с флажком, где он возвращает true или false после того, как я отправил форму. Но я хотел, чтобы на выходе были значения «Лимон», «Заварной крем», «Фадж», «Мокко» или «Малина». Здесь я покажу вам выходные изображения:

output of the image

...