Ionic - 表单

Ionic 表单主要用于与用户交互和收集所需信息。本章将介绍各种文本输入表单,在后续章节中,我们将解释如何使用 Ionic 框架使用其他表单元素。

使用输入表单

使用表单的最佳方式是使用 listitem 作为主要类。您的应用通常包含多个表单元素,因此将其组织为列表是有意义的。在下面的示例中,您可以注意到 item 元素是一个 label 标签。

您可以使用任何其他元素,但标签将提供点击元素的任何部分以聚焦文本输入的功能。您可以设置一个 placeholder,它看起来与输入文本不同,并且在您开始输入时会立即隐藏。您可以在下面的示例中看到这一点。

<div class = "list">
   <label class = "item item-input">
      <input type = "text" placeholder = "Placeholder 1" />
   </label>

   <label class = "item item-input">
      <input type = "text" placeholder = "Placeholder 2" />
   </label>
</div>

上述代码将在屏幕产生以下内容 −

Ionic 表单输入

Ionic 标签

Ionic 为您的标签提供了一些其他选项。如果您希望在输入文本时占位符位于左侧,则可以使用 input-label 类。

<div class = "list">
   <label class = "item item-input">
      <input type = "text" placeholder = "Placeholder 1" />
   </label>

   <label class = "item item-input">
      <input type = "text" placeholder = "Placeholder 2" />
   </label>
</div>

上述代码将在屏幕产生以下内容 −

Ionic 输入标签

堆叠标签

堆叠标签 是另一种选项,它允许将标签移动到输入的顶部或底部。为了实现这一点,我们将 item-stacked-label 类添加到我们的标签元素,我们需要创建一个新元素并为其分配 input-label 类。如果我们想让它在顶部,我们只需在 input 标签之前添加这个元素。如以下示例所示。

请注意,span 标签位于 input 标签之前。如果我们改变它们的位置,它将出现在屏幕上的下方。

<div class = "list">
   <label class = "item item-input item-stacked-label">
      <span class = "input-label">Label 1</span>
      <input type = "text" placeholder = "Placeholder 1" />
   </label>

   <label class = "item item-input item-stacked-label">
      <span class = "input-label">Label 2</span>
      <input type = "text" placeholder = "Placeholder 2" />
   </label>
</div>

上述代码将在屏幕产生以下内容 −

Ionic 堆叠标签

浮动标签

浮动标签 是我们可以使用的第三个选项。这些标签将在我们开始输入之前隐藏。一旦开始输入,它们就会出现在元素顶部,并带有漂亮的浮动动画。我们可以像使用堆叠标签一样使用浮动标签。唯一的区别是,这次我们将使用 item-floating-label 类。

<div class = "list">
   <label class = "item item-input item-floating-label">
      <span class = "input-label"t>Label 1</span>
      <input type = "text" placeholder = "Placeholder 1" />
   </label>

   <label class = "item item-input item-floating-label">
      <span class = "input-label">Label 2</span>
      <input type = "text" placeholder = "Placeholder 2" />
   </label>
</div>

上述代码将在屏幕产生以下内容 −

Ionic 浮动标签

插入输入

在上一章中,我们讨论了如何插入 Ionic 元素。您还可以通过向项目添加 item-input-inset 类以及向标签添加 item-input-wrapper 来插入输入。包装器将为您的标签添加额外的样式。

如果您在标签旁边添加一些其他元素,标签大小将调整以适应新元素。您还可以在标签内添加元素(通常是图标)。

以下示例显示了两个插入输入。第一个在标签旁边有一个按钮,第二个里面有一个图标。我们使用 placeholder-icon 类使图标与占位符文本具有相同的颜色。如果没有它,图标将使用标签的颜色。

<div class = "list">
   <div class = "item item-input-inset">
      <label class = "item item-input-wrapper">		
         <input type = "text" placeholder = "Placeholder 1" />
      </label>
      <button class = "button">button</button>
   </div>

   <div class = "item item-input-inset">
      <label class = "item item-input-wrapper">
         <i class = "icon ion-edit placeholder-icon"></i>
         <input type = "text" placeholder = "Placeholder 2" />
      </label>
   </div>
</div>

上述代码将在屏幕产生以下内容 −

Ionic inset input