<seal-list-item 
  class="ext-class" 
  ext-class="seal-form__item {{ vertical ? 'seal-form__item--vertical' : '' }}" 
  title-class="seal-form__item-title" 
  value-class="seal-form__item-value" 
  icon="{{ icon }}" 
  iconColor="{{ iconColor }}" 
  iconSize="{{ iconSize }}" 
  title="{{ label }}" 
  titleWidth="{{ vertical ? '' : labelWidth }}" 
  required="{{ required }}" 
  clickable="{{ clickable }}" 
  detail="{{ detail }}" 
  vertical="{{ vertical }}" 
  itemHeight="auto" 
  border="{{ border }}" 
  bind:click="handleClick"
  
>
  <slot name="icon" slot="icon"></slot>
  <slot name="label" slot="title"></slot>
  <view class="seal-form__controls {{ useSlot ? 'is-customized' : '' }}">
    <block wx:if="{{ useSlot }}">
      <slot></slot>
    </block>
    <block wx:else>
      <seal-field 
        wx:if="{{ type === 'textarea' }}" 
        class="seal-form__textarea" 
        ext-class="seal-form__controls-item" 
        textarea-class="seal-form__controls-textarea" 
        style="{{ 'text-align:' + textAlign + ';' }}" 
        value="{{ value }}" 
        type="textarea" 
        placeholder="{{ placeholder }}" 
        placeholderStyle="{{ placeholderStyle }}" 
        placeholderClass="{{ placeholderClass }}" 
        disabled="{{ disabled || readonly }}" 
        maxLength="{{ maxLength }}" 
        cursor="{{ cursor }}" 
        cursorSpacing="{{ cursorSpacing }}" 
        focus="{{ focus }}" 
        autoFocus="{{ autoFocus }}" 
        selectionStart="{{ selectionStart }}" 
        selectionEnd="{{ selectionEnd }}" 
        adjustPosition="{{ adjustPosition }}" 
        holdKeyboard="{{ holdKeyboard }}" 
        autoHeight="{{ autoHeight }}" 
        fixed="{{ fixed }}" 
        showConfirmBar="{{ showConfirmBar }}" 
        border="{{ false }}" 
        hasCount="{{ hasCount }}" 
        error="{{ error }}" 
        bind:input="handleInput" 
        bind:focus="handleFocus" 
        bind:blur="handleBlur" 
        bind:confirm="handleConfirm" 
        bind:linechange="handleLineChange" 
        bind:keyboardheightchange="handleKeyboardHeightChange"
      >
      </seal-field>
      <seal-field 
        wx:elif="{{ type === 'select' }}" 
        class="seal-form__input" 
        ext-class="seal-form__controls-item" 
        input-class="seal-form__controls-input" 
        style="{{ 'text-align:' + textAlign + ';' }}" 
        value="{{ value }}" 
        placeholder="{{ placeholder }}" 
        placeholderStyle="{{ placeholderStyle }}" 
        placeholderClass="{{ placeholderClass }}" 
        readonly 
        maxLength="{{ maxLength }}" 
        border="{{ false }}"
      >
      </seal-field>
      <seal-field 
        wx:else 
        class="seal-form__input" 
        ext-class="seal-form__controls-item" 
        input-class="seal-form__controls-input" 
        style="{{ 'text-align:' + textAlign + ';' }}" 
        value="{{ value }}" 
        type="{{ type }}" 
        password="{{ password }}" 
        placeholder="{{ placeholder }}" 
        placeholderStyle="{{ placeholderStyle }}" 
        placeholderClass="{{ placeholderClass }}" 
        disabled="{{ disabled || readonly }}" 
        maxLength="{{ maxLength }}" 
        cursor="{{ cursor }}" 
        cursorSpacing="{{ cursorSpacing }}" 
        focus="{{ focus }}" 
        autoFocus="{{ autoFocus }}" 
        confirmType="{{ confirmType }}" 
        confirmHold="{{ confirmHold }}" 
        selectionStart="{{ selectionStart }}" 
        selectionEnd="{{ selectionEnd }}" 
        adjustPosition="{{ adjustPosition }}" 
        holdKeyboard="{{ holdKeyboard }}" 
        border="{{ false }}" 
        error="{{ error }}" 
        bind:input="handleInput" 
        bind:focus="handleFocus" 
        bind:blur="handleBlur" 
        bind:confirm="handleConfirm" 
        bind:keyboardheightchange="handleKeyboardHeightChange"
      >
      </seal-field>
      <view class="seal-form__extra">
        <view 
          wx:if="{{ type === 'code' }}" 
          class="seal-form__verification-code {{ _getCodeDisable ? 'is-disabled' : '' }}" 
          bind:tap="handleGetCode"
        >
          {{ getCodeText }}
        </view>
        <block wx:else>
          <slot name="extra"></slot>
        </block>
      </view>
    </block>
  </view>
  <view wx:if="{{ helperMsg }}" class="seal-form__helper-msg">{{ helperMsg }}</view>
  <view wx:elif="{{ errorMsg }}" class="seal-form__error-msg">{{ errorMsg }}</view>
</seal-list-item>