create()
通过 create 方法可对部分 props 默认值进行全局配置,并生成带预设的全新组件。新组件使用时依然可接收 props 覆盖预设配置。
可用于项目间接口格式不同,或者项目内部有多套不同默认配置等特殊场景。
全局配置项
js
// main.ts
import { createApp } from 'vue'
import { create as createListview } from '@laomao800/vue-listview'
const app = createApp(App)
const CustomListview = createListview({
contentDataMap: { items: 'result.items', total: 'result.total' },
usePage: { pageIndex: 'global_page_index', pageSize: 'global_page_size' },
// ...
})
app.component('CustomListview', CustomListview)
所有支持预设的 props
:
pressEnterSearch
autoload
requestMethod
requestConfig
transformRequestData
transformResponseData
contentDataMap
contentMessage
validateResponse
resolveResponseErrorMessage
usePage
pageSize
pageSizes
pageAttrs
pagePosition
height
fullHeight
searchButton
resetButton
replaceComponents
替换区域组件,可通过该属性配置默认插槽内容,用于全局替换诸如搜索栏、正文区域等默认组件:
js
// main.ts
import { createApp } from 'vue'
import { create as createListview } from '@laomao800/vue-listview'
import CustomFilterbar from 'your component path...'
const app = createApp(App)
const CustomListview = createListview({
replaceComponents: {
filterbar: CustomFilterbar,
},
})
app.component('CustomListview', CustomListview)
支持的替换区域有:
header
: 顶部标题栏区域filterbar
: 搜索栏区域content
: 正文区域footer
: 底部页码区域
注意
- listview 本身接受的所有 attrs/props 会全部传递给替换组件;
- 替换组件内部可通过 inject
lvStore
,获取 Listview 内部的 store 实例,具体内容可查阅 lvStore 章节。