【问题标题】:Ionic input and select side by side离子输入和并排选择
【发布时间】:2021-08-25 15:36:15
【问题描述】:
我想要并排显示一个输入和一个选择。
我尝试了几种方法都没有成功。
目前的代码如下
<form name="signup">
<ion-list>
<label class="item item-input">
<input placeholder="Identificación" name="identificacion" type="text" ng-click="registro.msg = null" ng-model="registro.identificacion" required>
</label>
<label class="item item-input item-select" name="tipo_id" ng-model="registro.tipo_id">
<div class="input-label">Tipo de Identificación</div>
<select ng-model="registro.tipo_id">
<option ng-repeat="tipo in defaultTipo" value="{{tipo.id}}" ng-selected="{{tipo.selected}}">{{tipo.tipo}}</option>
</select>
</label>
</ion-list>
</form>
这会输出以下内容:
我需要把左边的输入和右边的选择放在同一行。
有什么想法吗?
【问题讨论】:
标签:
ionic-framework
ionic
【解决方案1】:
您可以简单地使用离子网格系统,但将它们并排放置不会为您在手机上留下太多空间。你可以在这里阅读更多信息:http://ionicframework.com/docs/components/#grid-explicit
<form name="signup">
<ion-list>
**<div class="row">**
**<div class="col">**
<label class="item item-input">
<input placeholder="Identificación" name="identificacion" type="text" ng-click="registro.msg = null" ng-model="registro.identificacion" required>
</label>
</div>
**<div class="col">**
<label class="item item-input item-select" name="tipo_id" ng-model="registro.tipo_id">
<div class="input-label">Tipo de Identificación</div>
<select ng-model="registro.tipo_id">
<option ng-repeat="tipo in defaultTipo" value="{{tipo.id}}" ng-selected="{{tipo.selected}}">{{tipo.tipo}}</option>
</select>
</label>
</div>
</div>
</ion-list>
</form>
【解决方案2】:
你可以试试这个 ::
<ion-grid>
<ion-row>
<ion-col width-50>
<ion-item>
<ion-label color="primary">Inline Label</ion-label>
<ion-input placeholder="Text Input"></ion-input>
</ion-item>
</ion-col>
<ion-col width-50>
<ion-item>
<ion-label>Minute 2</ion-label>
<ion-select [(ngModel)]="inr">
<ion-option value="h1">5</ion-option>
<ion-option value="h2">6</ion-option>
<ion-option value="h3" >7</ion-option>
</ion-select>
</ion-item>
</ion-col>
</ion-row>
</ion-grid>
【解决方案3】:
enter image description here有一个简单的方法可以做到这一点。
只需要使用一个项目,项目结束和项目开始。
然后只需添加一行 CSS。
.input-cover{
width: 0%;
}
<ion-item *ngFor="let telefono of cliente.telefonos;index as i;trackBy:identify">
<ion-select item-start placeholder="Celular" name="tipo" [(ngModel)]="telefono.tipo">
<ion-option>Celular</ion-option>
<ion-option>Casa</ion-option>
</ion-select>
<ion-input type="tel" item-end placeholder="Numero" name="numero" [(ngModel)]="telefono.numero"></ion-input>
</ion-item>
【解决方案4】:
你可以使用 item-input-inset 类
<form name="signup">
<ion-list>
<div class="item-input-inset">
<div>
<label class="item item-input">
<input placeholder="Identificación" name="identificacion" type="text" ng-click="registro.msg = null" ng-model="registro.identificacion" required>
</label>
</div>
<label class="item item-input item-select" name="tipo_id" ng-model="registro.tipo_id">
<div class="input-label">Tipo de Identificación</div>
<select ng-model="registro.tipo_id">
<option ng-repeat="tipo in defaultTipo" value="{{tipo.id}}" ng-selected="{{tipo.selected}}">{{tipo.tipo}}</option>
</select>
</label>
</div>
</ion-list>
</form>