index.wxml 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <view
  2. wx:key="ant-rare-words-input-{{ $id }}"
  3. style="{{ style }}"
  4. class="ant-rare-words-keyboard {{ className || '' }}">
  5. <view
  6. wx:if="{{ visible }}"
  7. class="ant-rare-words-keyboard-modal {{ showMask ? '' : 'hide' }}"
  8. bind:tap="handleHide"
  9. onAppear="catchAppearModal" />
  10. <view class="ant-rare-words-keyboard-kb {{ visible ? '' : 'hide' }}">
  11. <view class="ant-rare-words-keyboard-header">
  12. <view
  13. wx:if="{{ type !== 'handwriting' }}"
  14. class="ant-rare-words-keyboard-input_value {{ displayStr.length > 0 && visible ? '' : 'hide' }}">
  15. {{ displayStr }}
  16. </view>
  17. <view class="ant-rare-words-keyboard-match_words_wrap">
  18. <view
  19. class="ant-rare-words-keyboard-match_words {{ showMoreWords ? 'absolute' : '' }}">
  20. <view
  21. class="ant-rare-words-keyboard-match_words_inner {{ showMoreWords ? 'all' : '' }}">
  22. <view
  23. wx:if="{{ matchWordsList.length === 0 }}"
  24. class="ant-rare-words-keyboard-match_words_hidden">
  25. </view>
  26. <block
  27. wx:for="{{ matchWordsList }}"
  28. wx:for-index="index"
  29. wx:for-item="item">
  30. <view
  31. class="ant-rare-words-keyboard-match_words_item {{ showMoreWords ? 'all' : '' }}"
  32. data-value="{{ item.unicodeChar }}"
  33. bind:tap="handleWordClick">
  34. <view class="ant-rare-words-keyboard-match_words_item_text">
  35. {{ item.unicodeChar }}
  36. </view>
  37. </view>
  38. </block>
  39. <view
  40. wx:if="{{ loading }}"
  41. class="ant-rare-words-keyboard-match_words_item_tips loading">
  42. <loading
  43. className="ant-rare-words-keyboard-loading"
  44. type="mini"
  45. size="small"
  46. color="#666666" />
  47. <!-- display: inline -->
  48. <text>加载中</text>
  49. </view>
  50. <view
  51. wx:else
  52. class="ant-rare-words-keyboard-match_words_item_tips">
  53. <!-- display: inline -->
  54. <text
  55. wx:if="{{ !!(displayStr === '' && matchWordsList.length === 0) }}"
  56. >请输入生僻字对应的拼音</text
  57. >
  58. <!-- display: inline -->
  59. <text
  60. wx:if="{{ !!(displayStr !== '' && matchWordsList.length === 0) }}"
  61. >更多生僻字完善中,敬请期待</text
  62. >
  63. </view>
  64. </view>
  65. <view
  66. class="ant-rare-words-keyboard-match_words_right {{ showMoreWords ? 'sticky' : '' }} {{ matchWordsList.length > maxDisplayNum && !showMoreWords ? 'overflow' : '' }}"
  67. bind:tap="hanleLookMore">
  68. <icon
  69. className="ant-rare-words-keyboard_down"
  70. type="DownOutline" />
  71. </view>
  72. </view>
  73. </view>
  74. <view class="ant-rare-words-keyboard_main">
  75. <view wx:if="{{ showErrorPage }}">
  76. <view class="ant-rare-words-keyboard_error">
  77. <result
  78. className="ant-rare-words-keyboard_error-result"
  79. image="https://mdn.alipayobjects.com/huamei_2fq7mt/afts/img/A*VtvFS4EJl0cAAAAAAAAAAAAADh58AQ/original"
  80. message="页面遇到一些小问题">
  81. <view
  82. slot="extra"
  83. class="ant-rare-words-keyboard_error-btns">
  84. <button
  85. type="primary"
  86. size="small"
  87. inline
  88. bind:tap="handleRetry">
  89. 重试
  90. </button>
  91. </view>
  92. </result>
  93. </view>
  94. </view>
  95. <view
  96. wx:else
  97. class="ant-rare-words-keyboard_pinyin">
  98. <block
  99. wx:for="{{ pinyinMaps }}"
  100. wx:for-index="mapIndex"
  101. wx:for-item="mapItem"
  102. wx:key="{{ mapIndex }}">
  103. <view class="ant-rare-words-keyboard_pinyin_row">
  104. <block
  105. wx:for="{{ mapItem }}"
  106. wx:for-index="index"
  107. wx:for-item="item"
  108. wx:key="{{ item.value }}">
  109. <view
  110. data-value="{{ item.value }}"
  111. class="ant-rare-words-keyboard_pinyin_key {{ showMoreWords ? 'all' : '' }}"
  112. bind:tap="handleKeyClick">
  113. <view class="ant-rare-words-keyboard_pinyin_key_text">
  114. {{ item.label }}
  115. </view>
  116. </view>
  117. </block>
  118. <view
  119. wx:if="{{ mapIndex === pinyinMaps.length - 1 }}"
  120. class="ant-rare-words-keyboard_pinyin_key delete"
  121. bind:tap="handleDelete">
  122. <view class="ant-rare-words-keyboard_pinyin_key_text">
  123. <icon
  124. className="ant-rare-words-keyboard_delete"
  125. type="TextDeletionOutline" />
  126. </view>
  127. </view>
  128. </view>
  129. </block>
  130. </view>
  131. </view>
  132. </view>
  133. <view
  134. wx:if="{{ safeArea }}"
  135. class="ant-rare-words-keyboard-kb_iphonex-safe" />
  136. </view>
  137. </view>