form-picker.wxml 2.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. <!--components/form-picker/form-picker.wxml-->
  2. <wxs src="./picker.wxs" module="_" />
  3. <view class="form-picker">
  4. <t-popup t-class="form-picker__inner" visible="{{ visible }}" bind:visible-change="onCancel" placement="bottom" close-on-overlay-click="{{closeOnOverlayClick}}" bind:visible-change="onVisibleChange">
  5. <view class="form-picker__header">
  6. <block wx:if="{{showReplenish}}">
  7. <view class="btn btn--cancel" aria-role="button" bind:tap="onSubCancel">返回</view>
  8. <view class="title">{{title}}: 其他</view>
  9. <view class="btn btn--confirm" aria-role="button" bind:tap="onSubConfirm">完成</view>
  10. </block>
  11. <block wx:else>
  12. <view class="btn btn--cancel" aria-role="button" bind:tap="onCancel">取消</view>
  13. <view class="title">{{title}}</view>
  14. <view class="btn btn--confirm" aria-role="button" bind:tap="onConfirm">确定</view>
  15. </block>
  16. </view>
  17. <view class="form-picker__content">
  18. <view class="input-wrapper" wx:if="{{showReplenish}}" style="height: {{itemHeight}}px; padding: {{(itemHeight - 40) / 2}}px;">
  19. <input placeholder="请输入" focus="{{true}}" model:value="{{replenishValue}}" adjust-position="{{false}}" bind:keyboardheightchange="onKeyboardheightchange" bind:blur="onBlur" bind:confirm="onSubConfirm" />
  20. </view>
  21. <block wx:else>
  22. <scroll-view type="custom" scroll-y style="height: {{containerHeight}}px;">
  23. <grid-builder list="{{options}}" cross-axis-count="{{optionsColumns}}" cross-axis-gap="{{gap}}" main-axis-gap="{{gap}}">
  24. <view slot:item slot:index class="card {{_.getClassName(selected, item)}}" style="height: {{itemHeight}}px;" data-index="{{index}}" bind:tap="handle">
  25. <t-icon wx:if="{{_.contain(selected, item.value)}}" name="check" t-class="card__icon" ariaHidden="{{true}}" />
  26. <text overflow="ellipsis" max-lines="3">{{replenish[item.value] || item.label}}</text>
  27. </view>
  28. </grid-builder>
  29. </scroll-view>
  30. </block>
  31. </view>
  32. <view style="height: {{offset}}px;"></view>
  33. </t-popup>
  34. </view>