如何在 select 下拉列表中应用占位符以及 angular 6 中的 [ngmodel]?
How to apply placeholder in select dropdown along with [ngmodel] in angular 6?
每当我使用 [(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>
尝试在 component.ts 文件中为 campaignInfo 变量分配占位符文本。
例如
export class CampaignComponent{
campaignInfo : any = "";
}
占位符为空的这种行为背后的原因是您在下拉列表中添加了 ngModel 并且它尚未分配任何文本。
它会为你工作,因为你有 option 标签值属性为 = ' ' 对于选项 Select Campaign 这就是为什么为 campaignInfo 变量分配空字符串。
作者:@Krishna Rathore
可以使用[value]=""选择隐藏
我已经在 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>
感谢所有尝试给出答案的人...现在工作正常,正确答案是...
<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;
每当我使用 [(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>
尝试在 component.ts 文件中为 campaignInfo 变量分配占位符文本。
例如
export class CampaignComponent{
campaignInfo : any = "";
}
占位符为空的这种行为背后的原因是您在下拉列表中添加了 ngModel 并且它尚未分配任何文本。 它会为你工作,因为你有 option 标签值属性为 = ' ' 对于选项 Select Campaign 这就是为什么为 campaignInfo 变量分配空字符串。
作者:@Krishna Rathore
可以使用[value]=""选择隐藏
我已经在 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>
感谢所有尝试给出答案的人...现在工作正常,正确答案是...
<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;