我正在使用ionic2和angular2与javascript(不是打字稿)一起工作,我有2个输入:文本和选择。如果select.val()=='更多',我想隐藏输入文本。我怎么做?
这是我的代码:
<ion-item class="sq-p-input-price" *ngIf="typePriceMore()">
<ion-label for="price" class="sr-only">Price</ion-label>
<ion-input id="price" type="number" value="" placeholder="Price" required></ion-input>
</ion-item>
<ion-item class="sq-p-input-type">
<ion-label class="sr-only" for="type">Tipo</ion-label>
<ion-select [(ngModel)]="priceTypeModel" id="type" required>
<ion-option *ngFor="#option of priceType" value="{{option.value}}">{{option.key}}</ion-option>
</ion-select>
</ion-item>
#option上的数组是:
this.priceType = [
{
key: 'fixo',
value: 'fix'
},
{
key: '/hora',
value: 'hourly'
},
{
key: 'Preciso mais informação',
value: 'more'
},
]
除此之外,还有2种想法让我难以完成:
1-为选择项设置一个初始值。使用selected不起作用会导致我在加载页面时总是空着。
2-隐藏input.text(价格)时,删除属性“ required”。
谢谢 :)
要在上设置初始值ngModel
,您应该在中定义它constructor()
constructor(){
priceTypeModel = 'more';
}
要隐藏元素,有两种选择
[hidden]
属性(如果true
,display:none
在元素上设置,则停留在DOM
)<ion-item class="sq-p-input-price" [hidden]="priceTypeModel === 'more'">
<ion-label for="price" class="sr-only">Price</ion-label>
<ion-input id="price" type="number" value="" placeholder="Price"></ion-input>
</ion-item>
*ngIf
指令(如果false
,则从中删除元素DOM
)<ion-item class="sq-p-input-price" *ngIf="priceTypeModel !== 'more'">
<ion-label for="price" class="sr-only">Price</ion-label>
<ion-input id="price" type="number" value="" placeholder="Price"></ion-input>
</ion-item>
您应该*ngIf
在以下情况下使用,该情况会从DOM中删除该元素,因此不再进行required
验证
2-隐藏input.text(价格)时,删除属性“ required”。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句