Tencent / tdesign-vue

A Vue.js UI components lib for TDesign.
https://tdesign.tencent.com/vue
MIT License
919 stars 358 forks source link

Badge content属性无效问题 #3263

Closed mateow1192 closed 2 months ago

mateow1192 commented 3 months ago

tdesign-vue 版本

latest

重现链接

Not necessary

重现步骤

设置content为new但是不会显示

<t-badge content="new">
    <t-button>按钮</t-button>
</t-badge>

期望结果

Badge组件正常显示content内容

实际结果

Badge组件不显示content内容

框架版本

Vue(~2.6.14)

浏览器版本

无需

系统版本

无需

Node版本

20+

补充说明

文档里写了是有content这个prop的: https://tdesign.tencent.com/vue/components/badge?tab=api 但是源码实现并没有用到this.content这个prop 如果没用的话其实可以删掉文档里的描述 但是只用count这个属性的话又有迷惑性,会让人以为count一定是个数值啥的 ( 其实不是 ) 所以content这个属性要不要留呢?留的话它和count的优先级怎么处理? (corner case: 两个属性同时出现) 可以提供PR

github-actions[bot] commented 3 months ago

👋 @3201623169,感谢给 TDesign 提出了 issue。 请根据 issue 模版确保背景信息的完善,我们将调查并尽快回复你。

uyarn commented 2 months ago

您好,是实现遗漏,需要实现的。 不过这个和count的作用不是一个,而是和默认插槽一个作用,主要是保持各个框架API的一致性的考虑。 如果您有兴趣实现,可以在 https://github.com/Tencent/tdesign-vue/blob/develop/src/badge/badge.tsx 中做如下修改即可

  1. import { renderContent } from '../utils/render-tnode'; 这个是公共的用于支持多类型渲染的API的函数
  2. 修改https://github.com/Tencent/tdesign-vue/blob/develop/src/badge/badge.tsx#L50const children = renderContent(this, 'default', 'content'); 即可
uyarn commented 2 months ago
image
uyarn commented 2 months ago

published 1.10.0