# lvStore

Listivew 内部以一个 Vue 实例为总线存储相关的数据,并以名称 lvStore 作为 provider 提供给子组件。在使用替换区域组件时可通过该途径访问底层数据及方法。

# Data

属性 类型 默认值 说明
contentHeight Number null 内容区域高度
contentLoading Boolean false 是否处于内容请求中
selection Object[] [] 内容区域选中内容
currentPage Number 1 内容当前页码
currentPageSize Number this.pageSize 内容每页显示数量
contentData Object { items: [], total: 0 } 内容数据及总条数
internalContentMessage Object { type: null, text: null } 内容信息。若需修改请通过 setContentMessage() 方法设置

# Methods

与 Listview 实例 search 方法一致

# setContentMessage(text, type, cleanData)

与 Listview 实例 setContentMessage 方法一致

# getContentData(data = {})

获取经过 contentDataMap 映射后的数据

# cleanContentData()

清空列表内容数据

# getRequestData()

获取内容请求参数

# $rootEmitProxy(rootEventName, […args])

  • 参数:

    • rootEventName
      • type: string
    • [...args]
      • type: any[]
  • 用法:

    $emit() 用法类似,区别是该方法最终会由 Listview 根级实例触发,因此其触发的事件都可在 Listview 组件上监听到。

    通过该方法触发的事件,第一个参数为 store 自身,第二个参数之后才为用户传入数据。例:

  • 参考:

    this.lvStore.$rootEmitProxy('my-event', 123)
    
    1
    <template>
      <Listview @my-event="(store, num) => handleMyEvent(num)" />
    </template>
    
    <script>
    export default {
      methods: {
        handleMyEvent(_store, num) {
          console.log(num) // 123
        }
      }
    }
    </script>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
上次更新: 2023/11/29 09:39:44