list.nvue 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. <template>
  2. <view class="container">
  3. <uni-card :is-shadow="false" is-full>
  4. <text class="uni-h6">列表组件可以在其中使用图标、略缩图或放置任何你想放的元素,使用场景如:导航菜单、列表、设置中心排版等</text>
  5. </uni-card>
  6. <uni-section title="基础用法" type="line">
  7. <uni-list>
  8. <uni-list-item title="列表文字" />
  9. <uni-list-item title="列表文字" rightText="右侧文字" />
  10. <uni-list-item title="列表文字" note="列表描述信息" rightText="右侧文字" />
  11. </uni-list>
  12. </uni-section>
  13. <uni-section title="禁用列表" type="line">
  14. <uni-list>
  15. <uni-list-item :disabled="true" title="列表禁用状态" rightText="右侧文字" />
  16. <uni-list-item :disabled="true" title="列表禁用状态" rightText="右侧文字" />
  17. </uni-list>
  18. </uni-section>
  19. <uni-section title="显示右侧箭头" type="line">
  20. <uni-list>
  21. <uni-list-item showArrow title="列表文字" />
  22. <uni-list-item showArrow title="列表文字" rightText="右侧文字" />
  23. </uni-list>
  24. </uni-section>
  25. <uni-section title="开启点击反馈" type="line">
  26. <uni-list>
  27. <uni-list-item title="弹窗提示" clickable @click="onClick" />
  28. <uni-list-item title="页面跳转" :to="`./chat`" @click="onClick" />
  29. <uni-list-item title="关闭当前页面打开新页面" showArrow link="redirectTo" to="./chat" @click="onClick" />
  30. <uni-list-item title="打开错误页面(查看控制台)" showArrow link="redirectTo" to="./chats" @click="onClick" />
  31. </uni-list>
  32. </uni-section>
  33. <uni-section title="不显示分隔线" type="line">
  34. <uni-list :border="false">
  35. <uni-list-item title="列表文字" />
  36. <uni-list-item :border="false" title="列表文字" note="列表描述信息" rightText="右侧文字" />
  37. <uni-list-item :border="false" title="列表文字" note="列表描述信息" rightText="右侧文字" />
  38. </uni-list>
  39. </uni-section>
  40. <uni-section title="分隔线通栏" type="line">
  41. <uni-list border-full>
  42. <uni-list-item title="列表文字" />
  43. <uni-list-item title="列表文字" note="列表描述信息" rightText="右侧文字" />
  44. <uni-list-item title="列表文字" note="列表描述信息" rightText="右侧文字" />
  45. </uni-list>
  46. </uni-section>
  47. <uni-section title="文字溢出隐藏" type="line">
  48. <uni-list>
  49. <uni-list-item ellipsis="1" title="超长文字显示一行,以下是测试文字以下是测试文字以下是测试文字以下是测试文字以下是测试文字以下是测试文字" />
  50. <uni-list-item ellipsis="2" title="超长文字显示二行,以下是测试文字以下是测试文字以下是测试文字以下是测试文字以下是测试文字以下是测试文字"
  51. rightText="二行显示" />
  52. <uni-list-item ellipsis="1" title="全部显示,以下是测试文字以下是测试文字以下是测试文字以下是测试文字以下是测试文字以下是测试文字"
  53. note="列表描述信息,下是测试文字,下是测试文字,下是测试文字,下是测试文字,下是测试文字,下是测试文字,下是测试文字" showArrow rightText="一行显示" />
  54. <uni-list-item title="全部显示,以下是测试文字以下是测试文字以下是测试文字以下是测试文字以下是测试文字以下是测试文字" showArrow rightText="全部" />
  55. </uni-list>
  56. </uni-section>
  57. <uni-section title="显示图标或图片" type="line">
  58. <uni-list>
  59. <uni-list-item :show-extra-icon="true" showArrow :extra-icon="extraIcon" title="列表左侧带扩展图标" />
  60. <uni-list-item title="列表左侧带略缩图" note="列表描述信息" showArrow
  61. thumb="https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/460d46d0-4fcc-11eb-8ff1-d5dcf8779628.png"
  62. thumb-size="sm" rightText="小图" />
  63. <uni-list-item title="列表左侧带略缩图" note="列表描述信息" showArrow
  64. thumb="https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/460d46d0-4fcc-11eb-8ff1-d5dcf8779628.png"
  65. thumb-size="base" rightText="默认" />
  66. <uni-list-item title="列表左侧带略缩图" note="列表描述信息" showArrow
  67. thumb="https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/460d46d0-4fcc-11eb-8ff1-d5dcf8779628.png"
  68. thumb-size="lg" rightText="大图" />
  69. </uni-list>
  70. </uni-section>
  71. <uni-section title="使用插槽" type="line">
  72. <uni-list border-full>
  73. <uni-list-item>
  74. <view class="slot-box">
  75. <view class="slot-content">
  76. <text class="slot-text">默认插槽</text>
  77. </view>
  78. <uni-badge text="2" type="primary" />
  79. </view>
  80. </uni-list-item>
  81. <uni-list-item title="自定义右侧插槽" note="列表描述信息" link>
  82. <template v-slot:actions>
  83. <image class="slot-image" src="/static/logo.png" mode="widthFix"></image>
  84. </template>
  85. </uni-list-item>
  86. </uni-list>
  87. </uni-section>
  88. <uni-section title="自定义内容" type="line">
  89. <uni-list border-full>
  90. <uni-list-item v-for="item in 3" :key="item">
  91. <view class="slot-box">
  92. <uni-card :is-shadow="false" :border="false" spacing="0" margin="0">
  93. <image slot='cover' class="slot-cover" :src="cover" mode="aspectFill">
  94. </image>
  95. <text class="uni-body">这是一个带封面和操作栏的卡片示例,此示例展示了封面插槽和操作栏插槽的用法。</text>
  96. <view slot="actions" class="card-actions">
  97. <view class="card-actions-item">
  98. <uni-icons type="pengyouquan" size="18" color="#999"></uni-icons>
  99. <text class="card-actions-item-text">分享</text>
  100. </view>
  101. <view class="card-actions-item">
  102. <uni-icons type="heart" size="18" color="#999"></uni-icons>
  103. <text class="card-actions-item-text">点赞</text>
  104. </view>
  105. <view class="card-actions-item">
  106. <uni-icons type="chatbubble" size="18" color="#999"></uni-icons>
  107. <text class="card-actions-item-text">评论</text>
  108. </view>
  109. </view>
  110. </uni-card>
  111. </view>
  112. </uni-list-item>
  113. </uni-list>
  114. </uni-section>
  115. </view>
  116. </template>
  117. <script>
  118. export default {
  119. components: {},
  120. data() {
  121. return {
  122. cover: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
  123. avatar: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/460d46d0-4fcc-11eb-8ff1-d5dcf8779628.png',
  124. extraIcon: {
  125. color: '#4cd964',
  126. size: '22',
  127. type: 'gear-filled'
  128. }
  129. };
  130. },
  131. methods: {
  132. onClick(e) {
  133. console.log('执行click事件', e.data)
  134. uni.showToast({
  135. title: '点击反馈'
  136. });
  137. },
  138. switchChange(e) {
  139. uni.showToast({
  140. title: 'change:' + e.value,
  141. icon: 'none'
  142. });
  143. }
  144. }
  145. };
  146. </script>
  147. <style lang="scss">
  148. .slot-box {
  149. display: flex;
  150. flex: 1;
  151. padding: 10px 0;
  152. flex-direction: row;
  153. align-items: center;
  154. }
  155. .slot-cover {
  156. /* #ifndef APP-NVUE */
  157. width: 100%;
  158. /* #endif */
  159. /* #ifdef APP-NVUE */
  160. flex: 1;
  161. /* #endif */
  162. height: 140px;
  163. }
  164. .slot-image {
  165. /* #ifndef APP-NVUE */
  166. display: block;
  167. /* #endif */
  168. // margin-right: 10px;
  169. width: 30px;
  170. height: 30px;
  171. }
  172. .slot-content {
  173. width: 100%;
  174. flex: 1;
  175. }
  176. .slot-text {
  177. font-size: 14px;
  178. color: #4cd964;
  179. }
  180. .card-actions {
  181. display: flex;
  182. flex-direction: row;
  183. justify-content: space-between;
  184. align-items: center;
  185. height: 45px;
  186. }
  187. .card-actions-item {
  188. display: flex;
  189. flex-direction: row;
  190. align-items: center;
  191. }
  192. .card-actions-item-text {
  193. font-size: 12px;
  194. color: #666;
  195. margin-left: 5px;
  196. }
  197. </style>