Как применить заполнитель в выпадающем списке select вместе с [ngmodel] в angular 6? - PullRequest
0 голосов
/ 06 ноября 2019

всякий раз, когда я использую [(ngModel)], первое значение становится пустым. но когда я удаляю [(ngModel)], он работает нормально.

 <select class="custom-select" id="campaignDropdown" [(ngModel)]="campaignInfo" placeholder="Select Campaign" (change)="hitApiFunction(campaignInfo)">
            <option value="" disabled selected>Select Campaign</option>
              <option *ngFor="let campData of campaigns" [ngValue]="campData"> 
                  {{campData.campaign_name}}
              </option>
            </select>

Ответы [ 3 ]

1 голос
/ 06 ноября 2019

Автор @Krishna Rathore

Вы можете использовать [value] = "" selected hidden

У меня есть демонстрация на Stackblitz

<form role="form" class="form form-horizontal" (ngSubmit)="onSubmit()" #form="ngForm" ngNativeValidate>
    <div class="form-group row">
        <div class="col-xl-4 col-lg-6 col-md-12">
            <fieldset class="form-group">
                <label for="customSelect">Categories:</label>
                <select class="custom-select d-block w-100" id="Category" [(ngModel)]="Category" name="Category" required placeholder="d.ff">
                    <option hidden [value]=""  selected>Select one category </option>
                    <option *ngFor="let item of myBusinessList" [value]="item.id">{{item.name}}</option>
                </select>
            </fieldset>
        </div>
    </div>
    <button type="submit" class="btn btn-raised btn-danger">Save</button>
</form>
1 голос
/ 06 ноября 2019

Попробуйте назначить переменную campaignInfo с текстом заполнителя в файле component.ts.

например,

export class CampaignComponent{
 campaignInfo : any = "";
}

причина такого поведения пустого заполнителя заключается в том, что вы добавляетеngModel в вашем выпадающем списке, и он еще не назначен ни с одним текстом. Это будет работать для вас, потому что у вас есть атрибут значения тега option as = '' для опции Select Campaign , поэтому присваивайте пустую строку для переменной campaignInfo.

0 голосов
/ 08 ноября 2019

спасибо всем, кто пытался дать ответ ... сейчас он работает нормально, правильный ответ ... .... 1001 *

<select class="custom-select" id="campaignDropdown" [(ngModel)]="campaignInfo" (change)="hitApiFunction(campaignInfo)">
            <option [value]="0" disabled selected>Select Campaign</option>
              <option *ngFor="let campData of campaigns" [ngValue]="campData"> 
                  {{campData.campaign_name}}
              </option>
            </select>

и в файле ts
campaignInfo = 0;

...