2016-12-09 2 views
1

Ionic2 Form Controlкнопку Установить в строке ввода

Я хотел бы иметь входную строку ниже карты, в том числе кнопки (см рисунок). Это директивный компонент. HTML является:

<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css" /> 

<form [formGroup]="searchMapForm" (ngSubmit)="search(searchMapForm.value)"> 
    <ion-item class="button"> 
     <div id="map"></div> 
    </ion-item> 
    <ion-item class="input"> 
     <ion-select placeholder="Land" formControlName="country"> 
      <ion-option value="DE" checked="true">Deutschland</ion-option> 
      <ion-option value="AT">Österreich</ion-option> 
      <ion-option value="CH">Schweiz</ion-option> 
     </ion-select> 
     <ion-input placeholder="Postleitzahl" type="text" class="map-search" formControlName="postalCode"></ion-input> 
    </ion-item> 
    <ion-item class="button"> 
     <div ion-button outline round small color="secondary" (click)="search(searchMapForm.value)">Suchen </div> 
    </ion-item> 
</form> 

CSS (я ничего там не делал):

search-map { 
    #map { 
    height: 30vh; 
    } 
} 

Я попытался поместить кнопку непосредственно в выше, но потом он просто исчез.

Как я могу получить кнопку в строку со страной и почтовым индексом?

+0

Пожалуйста, добавьте ваш CSS также. – Aslam

+0

Из кода, который вы указали, я думаю, что .unput имеет ширину 100% или задан дисплей: block; – Aslam

+0

Вы можете попробовать, разместив все внутри «ионного ряда» с тремя «ионными колонками» внутри, один для выбора, второй для входа и третий для кнопки. – sebaferreras

ответ

1

Вы можете использовать ion-row и ion-col элементы, чтобы решить, где все должно быть размещено (docs). Поэтому, создав одну строку с тремя столбцами, вы сможете разместить все в одной строке. Вы можете настроить ширину каждого столбца с помощью атрибута width:

<ion-grid> 
    <ion-row> 
    <ion-col width-10>This column will take 10% of space</ion-col> 
    </ion-row> 
</ion-grid> 

Возможные значения могут быть:

Explicit Column Percentage Attributes 
width-10 10% 
width-20 20% 
width-25 25% 
width-33 33.3333% 
width-50 50% 
width-67 66.6666% 
width-75 75% 
width-80 80% 
width-90 90% 
+1

У меня все еще есть проблема: тег не заполняет полное пространство кол-во и поэтому не показывает полное имя страны, но ... Теперь. Могу ли я сообщить col, что он должен отрегулировать после выбора размера? – Michael

+0

Хм ... Я думаю, что это невозможно, но, возможно, вы можете установить ширину столбца, который удерживает выделение достаточно большим (например, 'ширина-50'), а с помощью css вы можете установить ширину элемента select чтобы заполнить эту ширину – sebaferreras

+1

Я нашел хорошее решение: я положил ионный элемент с первыми двумя элементами в один столбец и кнопку в ионном элементе. Тогда это выглядит красиво. Спасибо. – Michael

Смежные вопросы