UNPKG

3.79 kBTypeScriptView Raw
1import { ComponentType } from 'react'
2import { StandardProps } from './common'
3interface CommentListProps extends StandardProps {
4 /** 评论核心参数
5 * @supported swan
6 */
7 commentParam: CommentListProps.ICommentParam
8 /** 底部 toolbar 的相关配置
9 * @supported swan
10 */
11 toolbarConfig?: CommentListProps.IToolbarConfig
12 /** 滚动方式为页面滚动,若组件作为浮层使用,该参数需设为 false
13 * @supported swan
14 * @default true
15 */
16 isPageScroll?: boolean
17 /** 是否需要底部 toolbar ,若使用开发者自定义的底部 toolbar ,该参数需设为 false
18 * @supported swan
19 * @default true
20 */
21 needToolbar?: boolean
22 /** 用于调起评论发布器发布评论,发布成功插入列表第一条,且滚动到列表顶部
23 * @supported swan
24 * @default false
25 */
26 addComment?: boolean
27 /** 点击单条评论跳转的详情页页面 path ,若没有配置则不会发生跳转;配置的前提是列表与详情均是页面级
28 * @supported swan
29 */
30 detailPath?: string
31 /** 是否折叠列表,默认全展示
32 * @supported swan
33 * @default false
34 */
35 isFolded?: boolean
36 /** 折叠后列表展示最大条数,默认 3 条,最多 10 条
37 * @supported swan
38 * @default 3
39 */
40 foldNum?: number
41 /** 传入放置评论组件的页面路径,如'/pages/list/index',组件内部会触发跳转逻辑
42 * @supported swan
43 */
44 viewMorePath?: string
45 /** 『全部 xx 条』的样式,目前只支持开发者自定义字体颜色
46 * @supported swan
47 */
48 viewMoreStyle?: CommentListProps.IViewMoreStyle
49 /** 绑定点击单条评论的事件,点击单条评论时触发,返回数据为{status, data:{srid}}
50 * @supported swan
51 */
52 onClickComment?: CommonEventFunction
53 /** 绑定点击更多事件,若除了页面跳转还需要其他操作,可通过该回调执行;若为浮层,也可使用该回调自定义交互逻辑
54 * @supported swan
55 */
56 onViewMore?: CommonEventFunction
57 /** 评论发布成功时触发,返回数据为 {status, data:{srid}}
58 * @supported swan
59 */
60 onReply?: CommonEventFunction
61}
62namespace CommentListProps {
63 interface ICommentParam {
64 /** 被点赞的文章的 id,与 path 参数一一对应
65 * @example "20200101"
66 */
67 snid: string
68 /** 文章标题 */
69 title: string
70 /** 智能小程序内页链接,最长不能超过 194 字符
71 * @example "/pages/index/index"
72 */
73 path: string
74 /** 数组第一项用于收藏功能的展示图片
75 * @default ['https://b.bdstatic.com/miniapp/images/demo-dog.png']
76 */
77 images?: string[]
78 }
79 interface IToolbarConfig {
80 /** 输入框提示文字 */
81 placeholder?: string
82 /** 显示的互动模块,对应默认值分别是:评论数、点赞、收藏、分享
83 * @default ['comment', 'like', 'favor', 'share']
84 */
85 moduleList?: string
86 /** 若 moduleList 里配置了 share 模块,该参数为必填 */
87 share?: IShare
88 }
89 interface IShare {
90 /** 分享标题 */
91 title: string
92 /** 分享内容 */
93 content?: string
94 /** 分享图标 */
95 imageUrl?: string
96 /** 页面 path ,必须是以 / 开头的完整路径,如果 path 中参数包含中文字符,需对中文字符进行编码 */
97 path?: string
98 }
99 interface IViewMoreStyle {
100 /** 『全部 xx 条』的字体颜色,默认为视觉提供色号,开发者可传入自定义色号
101 * @default "#3388ff"
102 */
103 color?: string
104 }
105}
106/** 评论列表
107 * @classification open
108 * @supported swan
109 * @see https://smartprogram.baidu.com/docs/develop/extended/component-content/comment-list/
110 */
111declare const CommentList: ComponentType<CommentListProps>
112export { CommentList, CommentListProps }