index.wxml 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <block wx:if="{{ context.layout !== 'none' }}">
  2. <wux-cell
  3. id="wux-cell"
  4. data-index="{{ index }}"
  5. wux-class="{{ (disabled || context.disabled) ? 'disabled' : (readOnly || context.readOnly) ? 'readOnly' : classes.wrap }}"
  6. wux-class-a="{{ context.layout }}"
  7. wux-class-b="{{ validateClasses }}"
  8. wux-class-c="{{ hidden ? 'hidden' : '' }}"
  9. prefixCls="{{ cellPrefixCls }}"
  10. hasLine="{{ !isLast }}"
  11. isLink="{{ isLink }}"
  12. disabled="{{ disabled || context.disabled }}"
  13. align="{{ align }}"
  14. hover-class="none"
  15. >
  16. <view slot="header" class="{{ classes.label }}" wx:if="{{ context.layout === 'horizontal' && (!!label || mergedRequired || !!help) }}">
  17. <text>{{ label }}</text>
  18. <block wx:if="{{ mergedRequired }}">
  19. <view class="{{ classes.asterisk }}" wx:if="{{ context.requiredMarkStyle === 'asterisk' }}">{{ context.asteriskText }}</view>
  20. <view class="{{ classes.text }}" wx:elif="{{ context.requiredMarkStyle === 'text-required' }}">({{ context.requiredText }})</view>
  21. </block>
  22. <block wx:else>
  23. <view class="{{ classes.text }}" wx:if="{{ context.requiredMarkStyle === 'text-optional' }}">({ context.optionalText })</view>
  24. </block>
  25. <block wx:if="{{ !!help }}">
  26. <icon class="{{ classes.labelHelp }}" type="info_circle" color="#B2B2B2" size="14" catchtap="setPopoverVisible" />
  27. </block>
  28. </view>
  29. <view slot="title" class="{{ classes.label }}" wx:elif="{{ context.layout === 'vertical' && (!!label || mergedRequired || !!help) }}">
  30. <text>{{ label }}</text>
  31. <block wx:if="{{ mergedRequired }}">
  32. <view class="{{ classes.asterisk }}" wx:if="{{ context.requiredMarkStyle === 'asterisk' }}">{{ context.asteriskText }}</view>
  33. <view class="{{ classes.text }}" wx:elif="{{ context.requiredMarkStyle === 'text-required' }}">({{ context.requiredText }})</view>
  34. </block>
  35. <block wx:else>
  36. <view class="{{ classes.text }}" wx:if="{{ context.requiredMarkStyle === 'text-optional' }}">({ context.optionalText })</view>
  37. </block>
  38. <block wx:if="{{ !!help }}">
  39. <icon class="{{ classes.labelHelp }}" type="info_circle" color="#B2B2B2" size="14" catchtap="setPopoverVisible" />
  40. </block>
  41. </view>
  42. <view class="{{ classes.child }}" wx:if="{{ childElementPosition !== 'none' }}">
  43. <slot></slot>
  44. </view>
  45. <block wx:else>
  46. <slot></slot>
  47. </block>
  48. <view slot="label" wx:if="{{ hasFeedback && feedbackMessage.length > 0 }}">
  49. <view class="{{ classes.feedback }}" wx:for="{{ feedbackMessage }}" wx:for-item="h" wx:key="index">{{ h }}</view>
  50. </view>
  51. <view slot="footer" class="{{ classes.extra }}" wx:if="{{ extra }}">{{ extra }}</view>
  52. <view slot="footer" class="{{ classes.extra }}" wx:else>
  53. <slot name="extra"></slot>
  54. </view>
  55. <view slot="arrow" class="{{ classes.arrow }}" wx:if="{{ !isLink }}">
  56. <slot name="arrow"></slot>
  57. </view>
  58. <wux-popover
  59. visible="{{ popoverVisible }}"
  60. controlled
  61. theme="dark"
  62. placement="top"
  63. content="{{ help }}"
  64. useSlot="{{ false }}"
  65. slotRect="{{ slotRect }}"
  66. relativeRect="{{ relativeRect }}"
  67. wx:if="{{ help }}"
  68. />
  69. </wux-cell>
  70. </block>
  71. <block wx:else>
  72. <slot></slot>
  73. </block>