当前位置:   article > 正文

uniapp扩展组件---uni-list

uni-list

文章目录

    • 基本用法
    • 多行内容显示
    • 右侧显示角标、switch
    • 左侧显示略缩图、图标
    • 开启点击反馈和右侧箭头
    • 聊天列表示例

介绍:

组件名:uni-list

代码块: uListuListItem 

关联组件:

uni-list-item

uni-badge

uni-icons

uni-list-chat

点击下载&安装

文章内容

一、Api属性以及基础用法

点击下方查看:

查看uni-list  Api

基础用法:

属性
  • 设置 title 属性,可以显示列表标题
  • 设置 disabled 属性,可以禁用当前项
用法 
  1. <uni-list>
  2. <uni-list-item title="列表文字" ></uni-list-item>
  3. <uni-list-item :disabled="true" title="列表禁用状态" ></uni-list-item>
  4. </uni-list>
二、多行内容显示
属性
  • 设置 note 属性 ,可以在第二行显示描述文本信息
用法 
  1. <uni-list>
  2. <uni-list-item title="列表文字" note="列表描述信息"></uni-list-item>
  3. <uni-list-item :disabled="true" title="列表文字" note="列表禁用状态"></uni-list-item>
  4. </uni-list>
三、右侧显示角标、switch
属性
  • 设置 show-badge 属性 ,可以显示角标内容
  • 设置 show-switch 属性,可以显示 switch 开关
用法 
  1. <uni-list>
  2. <uni-list-item title="列表右侧显示角标" :show-badge="true" badge-text="12" ></uni-list-item>
  3. <uni-list-item title="列表右侧显示 switch" :show-switch="true" @switchChange="switchChange" ></uni-list-item>
  4. </uni-list>
四、左侧显示略缩图、图标
属性
  • 设置 thumb 属性 ,可以在列表左侧显示略缩图
  • 设置 show-extra-icon 属性,并指定 extra-icon 可以在左侧显示图标
用法 
  1. <uni-list>
  2. <uni-list-item title="列表左侧带略缩图" note="列表描述信息" thumb="https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png"
  3. thumb-size="lg" rightText="右侧文字"></uni-list-item>
  4. <uni-list-item :show-extra-icon="true" :extra-icon="extraIcon1" title="列表左侧带扩展图标" ></uni-list-item>
  5. </uni-list>
五、开启点击反馈和右侧箭头
属性
  • 设置 clickable 为 true ,则表示这是一个可点击的列表,会默认给一个点击效果,并可以监听 click 事件
  • 设置 link 属性,会自动开启点击反馈,并给列表右侧添加一个箭头
  • 设置 to 属性,可以跳转页面,link 的值表示跳转方式,如果不指定,默认为 navigateTo
用法 
  1. <uni-list>
  2. <uni-list-item title="开启点击反馈" clickable @click="onClick" ></uni-list-item>
  3. <uni-list-item title="默认 navigateTo 方式跳转页面" link to="/pages/vue/index/index" @click="onClick($event,1)" ></uni-list-item>
  4. <uni-list-item title="reLaunch 方式跳转页面" link="reLaunch" to="/pages/vue/index/index" @click="onClick($event,1)" ></uni-list-item>
  5. </uni-list>
六、聊天列表示例

使用uni-list-chat制作一个聊天列表

同时使用uni-list的switch控制显示

  1. <template>
  2. <view>
  3. <uni-list>
  4. <uni-list-item title="学习列表组件"
  5. note="uni-list-item的内容"
  6. thumb="../../static/uni.png"
  7. thumbSize="lg"
  8. showBadge="true"
  9. right-text="2023年7月27日11:42:51"
  10. showArrow="true"
  11. link="reLaunch"
  12. to="../index/index"//需要跳转的页面
  13. >
  14. </uni-list-item>
  15. <uni-list-item
  16. title="uni-list-chat的应用"
  17. showSwitch="true"
  18. switch-checked="true"
  19. @switchChange="bindswitchChange"
  20. >
  21. </uni-list-item>
  22. </uni-list>
  23. <view v-if="choose===true">
  24. <uni-list>
  25. <uni-list :border="true">
  26. <!-- 显示圆形头像 -->
  27. <uni-list-chat @click="bindChatChange" :avatar-circle="true" clickable title="uni-app" avatar="https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png" note="您收到一条新的消息" time="2020-02-02 20:20" ></uni-list-chat>
  28. <!-- 右侧带角标 -->
  29. <uni-list-chat title="uni-app" avatar="https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png" note="您收到一条新的消息" time="2020-02-02 20:20" badge-text="12"></uni-list-chat>
  30. <!-- 头像显示圆点 -->
  31. <uni-list-chat title="uni-app" avatar="https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png" note="您收到一条新的消息" time="2020-02-02 20:20" badgePositon="right" badge-text="dot"></uni-list-chat>
  32. <!-- 头像显示角标 --></uni-list-chat>
  33. <!-- 显示多头像 -->
  34. <uni-list-chat title="uni-app" :avatar-list="avatarList" note="您收到一条新的消息" time="2020-02-02 20:20" badge-positon="left" badge-text="dot"></uni-list-chat>
  35. <!-- 自定义右侧内容 -->
  36. <uni-list-chat title="uni-app" :avatar-list="avatarList1" note="您收到一条新的消息" time="2020-02-02 20:20" badge-positon="left" badge-text="dot">
  37. <view class="chat-custom-right">
  38. <text class="chat-custom-text">刚刚</text>
  39. <!-- 需要使用 uni-icons 请自行引入 -->
  40. <uni-icons type="star-filled" color="#999" size="18"></uni-icons>
  41. </view>
  42. </uni-list-chat>
  43. </uni-list>
  44. </uni-list>
  45. </view>
  46. </view>
  47. </template>
  48. <script>
  49. export default {
  50. data() {
  51. return {
  52. choose:true,
  53. avatarList: [{
  54. url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png'
  55. }, {
  56. url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png'
  57. }, {
  58. url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png'
  59. }],
  60. avatarList1: [{
  61. url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png'
  62. }, {
  63. url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png'
  64. }, {
  65. url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png'
  66. }, {
  67. url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png'
  68. }, {
  69. url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png'
  70. }]
  71. }
  72. },
  73. methods: {
  74. bindswitchChange(res){
  75. console.log(res.value);
  76. this.choose = res.value
  77. },
  78. bindChatChange(){
  79. uni.showModal({
  80. content:"点击了列表",
  81. showCancel:false
  82. })
  83. }
  84. }
  85. }
  86. </script>
  87. <style>
  88. <uni-list-chat title="uni-app" avatar="https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png" note="您收到一条新的消息" time="2020-02-02 20:20" badge-positon="left" badge-text
  89. .chat-custom-right {
  90. flex: 1;
  91. /* #ifndef APP-NVUE */
  92. display: flex;
  93. /* #endif */
  94. flex-direction: column;
  95. justify-content: space-between;
  96. align-items: flex-end;
  97. }
  98. .chat-custom-text {
  99. font-size: 12px;
  100. color: #999;
  101. }
  102. </style>

 扩展avatarList

头像组,格式为 [{url:''}]

会将你的所有突变拼接起来

例如:上面的练习

  1. <script>
  2. export default {
  3. data() {
  4. return {
  5. choose:true,
  6. avatarList: [{
  7. url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png'
  8. }, {
  9. url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png'
  10. }, {
  11. url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png'
  12. }],
  13. avatarList1: [{
  14. url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png'
  15. }, {
  16. url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png'
  17. }, {
  18. url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png'
  19. }, {
  20. url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png'
  21. }, {
  22. url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png'
  23. }]
  24. }
  25. }
  26. }
  27. </script>

小结

通过扩展插槽,可实现多种常见样式的列表

新闻列表类
  1. 云端一体混合布局:基于 uni-list 的云端一体新闻列表模板(混合布局) - DCloud 插件市场
  2. 云端一体垂直布局,大图模式:基于 uni-list 的云端一体新闻列表模板(大图模式) - DCloud 插件市场
  3. 云端一体垂直布局,多行图文混排:基于 uni-list 的云端一体新闻列表模板(图文混排) - DCloud 插件市场
  4. 云端一体垂直布局,多图模式:基于 uni-list 的云端一体新闻列表模板(多图显示) - DCloud 插件市场
  5. 云端一体水平布局,左图右文:基于 uni-list 的云端一体新闻列表模板(左图右文) - DCloud 插件市场
  6. 云端一体水平布局,左文右图:基于 uni-list 的云端一体新闻列表模板(左文右图) - DCloud 插件市场
  7. 云端一体垂直布局,无图模式,主标题+副标题:基于 uni-list 的云端一体新闻列表模板(无图显示) - DCloud 插件市场
商品列表类
  1. 云端一体列表/宫格视图互切:基于 uni-list 的云端一体商品列表模板 - DCloud 插件市场
  2. 云端一体列表(宫格模式):基于 uni-list 的云端一体商品列表模板(宫格模式) - DCloud 插件市场
  3. 云端一体列表(列表模式):基于 uni-list 的云端一体商品列表模板(列表模式) - DCloud 插件市场
来源:

uni-app官网 (dcloud.net.cn)icon-default.png?t=N6B9https://uniapp.dcloud.net.cn/component/uniui/uni-list.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/743902
推荐阅读
相关标签
  

闽ICP备14008679号