List

列表组件。

组件

List

<List> 组件,列表容器。

Props

inset
PropType: bool

是否添加列表边距。


List.Item

<List.Item> 组件,列表子项。

Props

role
PropType: enum('header', 'item')

子项角色,默认为 item

title
PropType: string

列表主标题。

subTitle
PropType: string

列表副标题。

href
PropType: string

列表链接。

linkComponent
PropType: any

链接组件,在一些场合可以传入如 react-router <Link> 之类的组件。

linkProps
PropType: object

传递到 linkComponent 上的属性。

media
PropType: node

列表图片。

  1. const img = <img width="32" src="http://lorempixel.com/128/128/people/" />;
  2. const listInstance = (
  3. <List.Item
  4. media={img}
  5. title="包含图片列表项"
  6. href="#"
  7. />
  8. );
after
PropType: node

列表标题后面的附加信息,如日期、小徽章等。

  1. const badge1 = <Badge rounded amStyle="alert">5</Badge>;
  2. const listInstance = (
  3. <List.Item
  4. after={badge1}
  5. title="包含徽章的列表项"
  6. href="#"
  7. />
  8. );
desc
PropType: node

列表项摘要、描述信息。

nested
PropType: enum('input', 'radio', 'checkbox')

如果列表项中嵌套了以上三种表单类型之一,需要设置改属性。

示例

  1. import React from 'react';
  2. import {
  3. Container,
  4. Group,
  5. List,
  6. Badge,
  7. Card,
  8. Switch,
  9. } from 'amazeui-touch';
  10. const img = <img width="32" src="http://lorempixel.com/128/128/people/" />;
  11. const img80 = <img width="80" src="http://lorempixel.com/160/160/people/" />;
  12. const img40 = <img width="48" src="http://lorempixel.com/160/160/people/" />;
  13. const badge1 = <Badge rounded amStyle="alert">5</Badge>;
  14. const albums = [
  15. {
  16. title: '女爵',
  17. subTitle: '发行公司:环球唱片',
  18. after: '2006-12',
  19. href: 'http://music.163.com/#/album?id=31308',
  20. desc: `
  21. 她坦白了我们所虚伪的 她单纯了我们所复杂的
  22. 五年以来…
  23. 5年的等待,是个漫长也是耗损的过程。
  24. 看尽乐坛芭比娃娃的甜美面具,「性格」这两个字,似乎快要消失!
  25. 她的声音,她的个性,象徵著无可取代的高傲、独特的姿态,
  26. 这样一股充满灵魂的音乐、沉寂而刚苏醒的真声音,
  27. 是我们唯一相信且期待杨乃文的理由。`
  28. },
  29. {
  30. title: '第一张精选',
  31. subTitle: '发行公司:滚石唱片',
  32. after: '2004-01',
  33. href: 'http://music.163.com/#/album?id=31312',
  34. desc: `
  35. 出道六年来只出过三张专辑的杨乃文,第一次集合三张专辑的精华构成了这张充满个性的精选辑。专辑收录尚未发片前首先曝光,原始浓烈的杨乃文独唱曲[爱上你只是我的错]、曾让无数人伤感落泪的《我给的爱》、悲情经典《silence》、杨乃文96年在魔岩校园live演唱会上敏感热烈的创作《fear》、充满古典优雅气质的电影[第凡内早餐]的主题曲《monn river》等好歌。通过尝试各种新鲜形象,搭配MV营造的氛围,总是给人耳目一新的新感觉。`
  36. },
  37. {
  38. title: 'Silence',
  39. subTitle: '发行公司:魔岩唱片',
  40. after: '1999-01',
  41. href: 'http://music.163.com/#/album?id=31319',
  42. desc: `所有人都能从作品中听到能量和震撼的呈现,矛盾与妥协,失意与快乐,制作人林炜哲是真正进入到歌手的灵魂,找出最真实的瞬间再燃烧释放,献给大家;这种完全认真作音乐不哈啦的态度,不是只字片语能形容,也并非速食文化所能比拟,这种精神是和全世界的音乐人同步,这也是他们的作品和台湾大部份截然不同的原因。这样的音乐正是台湾年轻人目前需要的,与世界处在同步潮流,所有年轻人都能感受的热情和力量`
  43. }
  44. ];
  45. function handleSwitch(e) {
  46. // get checkbox value
  47. console.log(this.refs.field.checked);
  48. }
  49. const mySwitch = <Switch onValueChange={handleSwitch} />;
  50. const ListExample = React.createClass({
  51. render() {
  52. return (
  53. <Container {...this.props}>
  54. <Group
  55. header="静态列表"
  56. noPadded
  57. >
  58. <List>
  59. <List.Item role="header">A</List.Item>
  60. <List.Item
  61. after={badge1}
  62. title="List Item 1"
  63. />
  64. <List.Item
  65. after={<Badge rounded amStyle="success">ok</Badge>}
  66. title="List Item 2"
  67. />
  68. <List.Item
  69. title="List Item 3"
  70. after={mySwitch}
  71. />
  72. <List.Item
  73. title="List Item 4"
  74. />
  75. <List.Item role="header">B</List.Item>
  76. <List.Item title="List Item 1" />
  77. <List.Item title="List Item 2" />
  78. <List.Item title="List Item 3" />
  79. <List.Item role="header">C</List.Item>
  80. <List.Item title="List Item 1" />
  81. <List.Item title="List Item 2" />
  82. <List.Item after="After" title="List Item 3" />
  83. </List>
  84. </Group>
  85. <Group
  86. header="包含链接的列表"
  87. noPadded
  88. >
  89. <List>
  90. <List.Item href="#" title="List Item 1" />
  91. <List.Item href="#" title="List Item 2" />
  92. <List.Item href="#" after="2015.08" title="List Item 3" />
  93. </List>
  94. </Group>
  95. <Group
  96. header="包含图标的列表"
  97. noPadded
  98. >
  99. <List>
  100. <List.Item
  101. media={img}
  102. after={badge1}
  103. title="List Item 1"
  104. />
  105. <List.Item
  106. media={img}
  107. after="2015.08"
  108. title="List Item 2"
  109. href="#"
  110. />
  111. <List.Item
  112. media={img}
  113. after={badge1}
  114. title="List Item 3"
  115. href="#"
  116. />
  117. </List>
  118. </Group>
  119. <Group
  120. header="含描述的文字列表"
  121. noPadded
  122. >
  123. <List>
  124. {albums.map((album, i) => {
  125. return (
  126. <List.Item
  127. {...album}
  128. target="_blank"
  129. key={i}
  130. />
  131. );
  132. })}
  133. </List>
  134. </Group>
  135. <Group
  136. header="图文列表"
  137. noPadded
  138. >
  139. <List>
  140. {albums.map((album, i) => {
  141. return (
  142. <List.Item
  143. {...album}
  144. target="_blank"
  145. media={img40}
  146. desc={null}
  147. href={i === 0 ? null : album.href}
  148. key={i}
  149. />
  150. );
  151. })}
  152. </List>
  153. </Group>
  154. <h3>Inset</h3>
  155. <List inset>
  156. {albums.map((album, i) => {
  157. return (
  158. <List.Item
  159. {...album}
  160. target="_blank"
  161. media={img40}
  162. desc={null}
  163. href={i === 0 ? null : album.href}
  164. key={i}
  165. />
  166. );
  167. })}
  168. </List>
  169. <List>
  170. {albums.map((album, i) => {
  171. return (
  172. <List.Item
  173. {...album}
  174. target="_blank"
  175. media={img80}
  176. href={i === 0 ? null : album.href}
  177. key={i}
  178. />
  179. );
  180. })}
  181. </List>
  182. <h3>Card 嵌套</h3>
  183. <Card>
  184. <List>
  185. <List.Item
  186. after={badge1}
  187. title="List Item 1"
  188. />
  189. <List.Item
  190. after={<Badge rounded amStyle="success">ok</Badge>}
  191. title="List Item 2"
  192. />
  193. <List.Item after="After" title="List Item 3" />
  194. </List>
  195. </Card>
  196. <Card>
  197. <List>
  198. <List.Item href="#" title="List Item 1" />
  199. <List.Item href="#" title="List Item 2" />
  200. <List.Item href="#" after="2015.08" title="List Item 3" />
  201. </List>
  202. </Card>
  203. <Card>
  204. <List>
  205. {albums.map((album, i) => {
  206. return (
  207. <List.Item
  208. {...album}
  209. target="_blank"
  210. media={img40}
  211. desc={null}
  212. href={i === 0 ? null : album.href}
  213. key={i}
  214. />
  215. );
  216. })}
  217. </List>
  218. </Card>
  219. {/*<h3>TODO: checkbox/radio/Switch list</h3>*/}
  220. </Container>
  221. );
  222. }
  223. });
  224. export default ListExample;

DemoCopy

Version: 1.0.0

原文: http://t.amazeui.org/#/docs/list