Closed afc163 closed 8 years ago
这样可扩展性比较差吧。 要考虑下各种xxItem 基于list.item进行扩展。 API调整的目的是什么?
这样可扩展性比较差吧。
什么扩展性差?扩展性应该是一样的。
API调整的目的是什么?
美化 & 语义化。
什么扩展性差?扩展性应该是一样的。
比如,需要定制某个List.Header
的样式,辣么就选择在List
上加一个className
再选择到am-list-header
? 再比如,List.Header
要加一个onClick
,title=""
则需要再包一个div
标签。
美化。
这个目的,顶!
<List title={<span className="xx" onClick={}>标题</span>}>
const ListHeader = <span className="xx" onClick={}>标题</span>
<List title={ListHeader}>
扩展性和原来的写法是一样的。
而且对于不需要定义 className、onClick 等的大多数场景下,写起来会简单很多。
尽量使用 children ,不要空 children 反而 属性
List 可以有个 header 属性,但 list-item 还是使用 children
有些 children 很难定义,可以保留 title 作为 children。
<List.Item description={} extra={} arrow={} />
title
</List.Item>
有些 children 很难定义,可以保留 title 作为 children。
list.item
的children
里内容千变万化,extra
也是千变万化,改<div className="am-list-brief">辅助文字内容</div>
为description
无法解决问题,很多情况下需要3行、4行,其中有两行是brief。children里也会有brief,extra里也可能有。限定死了用户就根本不够用了。
description={<div><p>第一行</p><p>第二行</p></div>}
extra={<div><div>第一行</p><div>第二行</p></div>}
尽量不要有 className="约定值"
暴露给用户。
List.Item我是偷懒了,直接把AntUI的一些约定值拿过来。
className="约定值"
,这个恰恰是我觉得需要整理出来一份文档提供出来的。
例如一些很简单的约定。比如a标签的各种场景颜色、各种字号大小,不值得给出一个组件,但是要有规范。
或者 @afc163 有更好的方案吗?
// 去掉 children,改为 title
// 去掉 `.am-list-brief`,改为 description
<List.Item title={} description={} extra={} arrow={} />
extra中的.am-list-brief
的如何安排?
再搞个extraDescription
?
const { Brief } = List.Item;
<List.Item
title={<div>快捷键 <Brief>说明</Brief></div>}
description={<div>快捷键 <Brief>说明</Brief></div>}
extra={<div>快捷键 <Brief>说明</Brief></div>}
arrow={}
/>
or
const { Brief } = List.Item;
<List.Item
title={}
description={}
extra={<div><Brief>说明</Brief><Brief>说明</Brief></div>}
arrow={}
/>
抛砖引玉一下,brief
貌似都是一样的?靠右浮动 + 小字体?
或者极端一些:
const { Title, Description, Brief, Extra } = List.Item;
<List.Item arrow={}>
<Title>标题</Title>
<Description>描述</Description>
<Extra>额外</Extra>
</List.Item>
const { Brief } = List.Item;
<List.Item
extra={<div>快捷键 <Brief>说明</Brief></div>}
arrow={}
>
<div>快捷键 <Brief>说明</Brief></div>
</List.Item>
这样差不多,扩展性也好,升级也不难, 就是把原来的am-list-brief
包装下。
这个最终的结论? @pingan1927
搞好了就把 issue close 了
This thread has been automatically locked because it has not had recent activity. Please open a new issue for related bugs and link to relevant comments in this thread.
List
改成 =>
List.Item
从
改为:
去处 swipeAction,增加 ListActionItem