list 组件
适合展示列表类的数据

除了基础的成员外,list 组件的实例还有如下成员:
nextPage: any?下一页参数page: any?当前页参数items: object[]列表的条目数组append(items: object[])方法,往列表数据中添加条目
module.exports = { type: 'list', style: 'simple' async fetch({ args, page }) { let resp = await $http.get(`http://api.example.com/data?page=${page || 1}`) return { nextPage : (page || 1) + 1, items : resp.data.data.map(post => { title: post.title, style: 'simple' }) } }}分页加载
由于列表数据需要进行分页加载,可们可以通过 fetch 方法的 context 参数来拿到要加载的分页参数,它的值其实等于 this.nextPage,当为 null 的时候表示首次加载或者刷新。
- 访问
context方式拿到
module.exports = { type: 'list', fetch(context) { console.log(context.page) } }- 解构赋值方式拿到
module.exports = { type: 'list', fetch({ args, page }) { console.log(page) } }在加载更多时 fetch 返回的 items 会自动追加到已有的 items 数组,而不是直接赋值。
[!TIP] 如果不需要分页加载以及初始化组件其他属性,list 组件的 fetch 方法可以直接返回一个数组:
module.exports = {fetch() {return [ ... ]}}
items[]
items 是一个数组,数组元素 object 类型,Dora.js 内置了很多列表条目的样式,每个条目要求的数据属性不一样,这里我们列出列表条目数支持的所有属性:
id: stringid 标识符title: string资源的标题titleStyle: object标题样式,参考 react-native文档style: string列表条目的样式,默认为simple目前支持以下值:- simple
- live
- icon
- gallery
- article
- richMedia
- category
- vod
- book
spanCount: number列表条目所占的网格数 详情summary: string资源的简单描述summaryStyle: object描述样式,参考 react-native文档viewerCount: number观看数量commentCount: number评论数量voteCount: number评分数量time: string|number资源创建的时间,可以是数值型的 Unix 时间戳或者日期字符串image: Url图片,更多详情author: Author资源的作者(详情)onClick: function点击后回调的方法onLongClick: function长按后回调的方法route: Route对应的路由,onClick的优先级要比route高,如果onClick不为 null 则route的值会失效,更多详情itemStyle: objectitem样式,参考 react-native文档
每个属性几乎都是可选的,你应该尽快能多的进行赋值,Dora.js 在显示的时候也是尽可能多的显示这些信息,不同 style 的列表条目需要的属性会有所不同,如果某个属性为 null,相应的 UI 就会隐藏。
spanCount
类似于 Bootstrap,Dora.js 列表将横向空间划分为了 12 份,通过 spanCount 来指定一个条目占多大比例,所有样式的条目都有不同默认的值,你可以通过设置列表条目的 spanCount 属性来更改这个值。

列表条目样式
simple
spanCount 默认值: 12

icon
spanCount 默认值: 4

vod
spanCount 默认值: 6

live
spanCount 默认值: 6

richMedia
spanCount 默认值: 12

- gallery
spanCount 默认值: 12

- book
spanCount 默认值: 6

- article
spanCount 默认值: 12
