我正在创建一个包含一些select和一些输入类型的表单,如下所示。
<div id="datiRichiesta">
<div *ngFor="let d of formDatiRichiesta" class="form-row">
<input *ngIf="d.type=='text'"
type="text"
class="form-control"
placeholder="{{d.placeholder}}"
[(ngModel)]="model[d.name]"
name="{{d.name}}"
(focus)="$event.target.placeholder = ''"
(blur)="$event.target.placeholder = d.placeholder"
value="richiesta.prova"/>
<select *ngIf="d.type=='select'"
class="form-control"
name="{{d.name}}"
[(ngModel)]="model[d.name]"
required>
<option selected disabled value="">{{d.placeholder}}</option>
<option *ngFor="let b of elencoBanche" value="{{b.id}}">{{b.nome}}</option>
</select>
</div>
</div>
我有两个主要问题:
value
,但它不起作用。我知道我应该使用像ngValue
这样的东西,或者至少我在线阅读,但大多数例子都被提到angularjs
,我有点困惑。如果我只是放置[ngValue]="richiesta.prova"
,则浏览器会抱怨Can't bind to 'ngValue' since it isn't a known property of 'input'
。placeholder
,但它不起作用,因为第一个<option>
是下拉列表中的所有其他内容。在这方面,我没有任何线索,因为它应该真的有效。任何帮助都会受到赞赏,也许有一些解释,我觉得我错过了一些关于角度绑定的东西 感谢。
答案 0 :(得分:0)
1)NgModel设置值。如果model [d.name]不为空 - 它将被设置
https://angular.io/guide/forms
2)How to show placeholder (empty option) in select control in Angular 2?
这两行是多余的:
(焦点)=&#34; $ event.target.placeholder =&#39;&#39;&#34;
#34;
(模糊)=&#34; $ event.target.placeholder = d.placeholder&#34;
答案 1 :(得分:0)
如果占位符不起作用,则仅表示您已将其分配给该输入一些值。对于您而言,我100%确保{{d.placeholder}}拥有一定的价值(可能价值等于'')。将此值分配为NULL。然后查看结果。
placeholder="{{d.placeholder}}"