comment-detail 评论详情组件

解释: 评论详情,评论的相关数据为托管数据。
Web 态说明:由于浏览器的限制,在 Web 态内暂不支持回复评论等功能。

属性说明

属性名类型必填默认值说明
comment-paramObject评论核心参数
sridString评论 ID
is-page-scrollBooleantrue滚动方式为页面滚动,若组件作为浮层使用,该参数需设为 false
need-toolbarBooleantrue是否需要底部 toolbar,若使用开发者自定义的底部 toolbar,该参数需设为 false
need-like-btnBooleantrue是否需要详情顶部父级评论的点赞按钮,默认显示
back-list-after-deleteBooleantrue删除详情后是否返回列表项,默认一站式逻辑。若使用浮层,请设置改属性为 false
add-commentBooleanfalse用于调起评论发布器发布评论
binddeleteEventHandle删除整体详情内容时触发,返回数据为{status, data:{srid}}

comment-param 服务参数说明

属性名类型必填默认值说明示例值
snidString文章的唯一标识,与 path 参数一一对应‘20200101’
titleString文章标题
pathString智能小程序内页链接,最长不能超过 194 字符。如该文章需要入信息流投放,需保证该参数与信息流投放提交的 path 一致,否则将会影响流量“path”:”/pages/index/index”

代码示例:详情组件放入页面

页面中引用动态库组件的方式是:在页面的 json 配置的 usingSwanComponents 字段中声明组件引用。

  • JSON
  1. {
  2. "navigationBarTitleText": "评论详情",
  3. "usingSwanComponents": {
  4. "comment-detail": "dynamicLib://myDynamicLib/comment-detail"
  5. }
  6. }

在页面中放入详情组件,传入必要的参数。

  • SWAN
  • JS
  1. <comment-detail
  2. comment-param="{{commentParam}}"
  3. srid="{{srid}}"
  4. need-like-btn="{{true}}"
  5. binddelete="detailDelete">
  6. </comment-detail>
  1. Page({
  2. data: {
  3. srid: '',
  4. commentParam: {}
  5. },
  6. onLoad(options) {
  7. if (options) {
  8. // 从列表页跳转的参数中拿到
  9. this.setData({
  10. srid: options.srid
  11. });
  12. }
  13. const param = getApp().globalData.commentParam;
  14. if (param && Object.keys(param).length) {
  15. this.setData({
  16. 'commentParam': param
  17. });
  18. }
  19. else {
  20. this.setData({
  21. commentParam: {
  22. snid: '10070000311753961',
  23. path: '/pages/comment/index?snid=test_snid57',
  24. title: '测试文章标题'
  25. }
  26. });
  27. }
  28. }
  29. });

Bug & Tip

  • Tip:openid 和百度 App 登录状态(合称登录状态)会影响用户的发布评论、举报、删除、消息提醒、跳转个人主页和页面收藏(合称互动行为),未登录用户仅可以浏览评论和点赞。
  • Tip:由于 swan.login API 的非兼容改造,一站式互动组件统一改为在组件内强登录。