vue3+ts 开发系统 -- 评论列表

本文介绍了在Vue3+TS环境下开发评论列表组件时遇到的问题及解决方案,包括如何在评论组件失焦时实现回复面板的自动折叠。讨论了使用tabIndex属性控制焦点事件,以及通过监听全局事件和阻止冒泡来处理组件间的交互。同时,文章提到了组件设计中的注意事项,如提前规划组件结构和利用props进行数据传递,以优化组件的可扩展性。此外,还提及了分页加载评论列表和Vue3中循环引用组件时的TypeScript报错问题。
摘要由CSDN通过智能技术生成
  • 写评论组件,希望实现失焦时评论回复框折叠
    • 如图所示在这里插入图片描述
    • 问题:如何使得Comment组件失焦时,回复面板折叠?
    • 监听textareablur,在点击提交按钮时,会直接执行面板折叠操作,从而导致未执行提交评论方法。
    • 监听外部div的blur事件。div 无focus,blur 事件,查找了下资料,提到,设置tabIndex 属性为0,cssoutlinenonetabIndextab键聚焦顺序,默认值为-1,即无聚焦事件。详情参考MDN tabIndex。但回复面板内部有输入框,当内部输入框聚焦时将触发到blur事件,不符合预期。
    • 采用在页面中监听click事件控制失焦事件,CommentItem组件内部阻止click冒泡的方式。可实现该界面,需要注意的点是回复按键并不在回复面板组件中,需要对其进行click.stop阻止冒泡。
      • 列表中,
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值