_list组件">
当前位置:   article > 正文

第一周、1.List组件

list组件

List是用来显示列表的容器组件,包含一系列相同宽度的列表项,适合连续、多行地呈现同类数据。

 

创建List组件:

  1. <!-- index.hml -->
  2. <div class="container">
  3. <list>
  4. <list-item class="listItem"></list-item>
  5. <list-item class="listItem"></list-item>
  6. <list-item class="listItem"></list-item>
  7. <list-item class="listItem"></list-item>
  8. <list-item class="listItem"></list-item>
  9. </list>
  10. </div>
  1. .container {
  2. display: flex;
  3. justify-content: center;
  4. align-items: center;
  5. left: 0px;
  6. top: 0px;
  7. width: 100%;
  8. height: 100%;
  9. }
  10. .listItem{
  11. height: 20%;
  12. background-color:#d2e0e0;
  13. margin-top: 20px;
  14. }

  • <list-item-group>是<list>的子组件,实现列表分组功能,不能再嵌套<list>,可以嵌套<list-item>。
  • <list-item>是<list>的子组件,展示列表的具体项。

添加滚动条:

设置scrollbar属性为on即可在屏幕右侧生成滚动条,实现长列表或者屏幕滚动等效果。

<list class="listCss" scrollbar="on" >

  1. <!-- index.hml -->
  2. <div class="container">
  3. <list class="listCss" scrollbar="on" >
  4. <list-item class="listItem"></list-item>
  5. <list-item class="listItem"></list-item>
  6. <list-item class="listItem"></list-item>
  7. <list-item class="listItem"></list-item>
  8. <list-item class="listItem"></list-item>
  9. <list-item class="listItem"></list-item>
  10. </list>
  11. </div>
  1. .container {
  2. display: flex;
  3. justify-content: center;
  4. align-items: center;
  5. left: 0px;
  6. top: 0px;
  7. width: 100%;
  8. height: 100%;
  9. }
  10. .listItem{
  11. height: 20%;
  12. background-color:#d2e0e0;
  13. margin-top: 20px;
  14. }
  15. .listCss{
  16. height: 100%;
  17. scrollbar-color: #8e8b8b;
  18. scrollbar-width: 20px;
  19. }

 

 添加侧边索引栏:

设置indexer属性为自定义索引时,索引栏会显示在列表右边界处,indexer属性设置为true,默认为字母索引表。section="#"可定义list组件的子组件为#在索引栏点击#即可显示该子组件。

  1. <!-- index.hml -->
  2. <div class="container">
  3. <list class="listCss" scrollbar="on" class="list" indexer="true">
  4. <list-item class="listItem" section="#"></list-item>
  5. <list-item class="listItem" section="A"> </list-item>
  6. <list-item class="listItem" section="B"></list-item>
  7. <list-item class="listItem" section="B"></list-item>
  8. <list-item class="listItem" section="C"></list-item>
  9. <list-item class="listItem" section="D"></list-item>
  10. </list>
  11. </div>

 实现列表折叠和展开

为List组件添加groupcollapse和groupexpand事件实现列表的折叠和展开。

  1. <!-- index.hml -->
  2. <div class="doc-page">
  3. <list style="width: 100%;" id="mylist">
  4. <list-item-group for="listgroup in list" id="{{listgroup.value}}" ongroupcollapse="collapse" ongroupexpand="expand">
  5. <list-item type="item" style="background-color:#FFF0F5;height:95px;">
  6. <div class="item-group-child">
  7. <text>One---{{listgroup.value}}</text>
  8. </div>
  9. </list-item>
  10. <list-item type="item" style="background-color: #87CEFA;height:145px;" primary="true">
  11. <div class="item-group-child">
  12. <text>Primary---{{listgroup.value}}</text>
  13. </div>
  14. </list-item>
  15. </list-item-group>
  16. </list>
  17. </div>
  1. // xxx.js
  2. import prompt from '@system.prompt';
  3. export default {
  4. data: {
  5. direction: 'column',
  6. list: []
  7. },
  8. onInit() {
  9. this.list = []
  10. this.listAdd = []
  11. for (var i = 1; i <= 2; i++) {
  12. var dataItem = {
  13. value: 'GROUP' + i,
  14. };
  15. this.list.push(dataItem);
  16. }
  17. },
  18. collapse(e) {
  19. prompt.showToast({
  20. message: 'Close ' + e.groupid
  21. })
  22. },
  23. expand(e) {
  24. prompt.showToast({
  25. message: 'Open ' + e.groupid
  26. })
  27. }
  28. }
  1. /* index.css */
  2. .doc-page {
  3. flex-direction: column;
  4. background-color: #F1F3F5;
  5. }
  6. list-item{
  7. margin-top:30px;
  8. }
  9. .top-list-item {
  10. width:100%;
  11. background-color:#D4F2E7;
  12. }
  13. .item-group-child {
  14. justify-content: center;
  15. align-items: center;
  16. width:100%;
  17. }

 

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