tdesign-react
tdesign-react copied to clipboard
feat(Input): support all native attributes and events
🤔 这个 PR 的性质是?
- [x] 日常 bug 修复
- [x] 新特性提交
- [x] 文档改进
- [ ] 演示代码改进
- [ ] 组件样式/交互改进
- [ ] CI/CD 改进
- [ ] 重构
- [ ] 代码风格优化
- [ ] 测试用例
- [ ] 分支合并
- [ ] 其他
🔗 相关 Issue
- https://github.com/Tencent/tdesign-react/issues/2708
- https://github.com/Tencent/tdesign-react/issues/2790
- 待讨论 1:id 是否要改为直接注入原生 input,目前textarea 的逻辑就是这样…虽然我觉得是意外为之
- https://github.com/Tencent/tdesign-react/issues/3654
- 待讨论 2:其实是支持的…只不过文档没有写 / 暴露出的 TS 类型和实际返回参数格式不一样
- https://github.com/Tencent/tdesign-react/issues/3662
💡 需求背景和解决方案
🐛 问题1:文档目录解析异常
- 如果大标题存在行内 code,会被替换为
td-code,导致目录标题无法提取到原始的字符串
🔧 问题2:大部分基于 Input 的组件无法通过 ref 获取内部的原生组件
-
其实部分组件有
export出来过,只不过文档上没有标,主打一个某天意外被用户挖掘到,不太确定这么暴露是否有隐患,所以暂时放在 FAQ -
AntDesign 它们有一个工具,也许未来可以引进优化一下
🚨 问题3:Textarea 支持所有原生属性和事件穿透,但 Input 不支持
有点 Breaking Change 了,需要讨论一下,我会在下面 Code Review 进行引用并评论解释
📝 更新日志
-
feat(Input): 支持所有原生属性和事件穿透
-
fix(Textarea): 将
id绑定到外层的div,而非原生<textarea/>元素上 ⚠️ -
[ ] 本条 PR 不需要纳入 Changelog
☑️ 请求合并前的自查清单
⚠️ 请自检并全部勾选全部选项。⚠️
- [x] 文档已补充或无须补充
- [x] 代码演示已提供或无须提供
- [x] TypeScript 定义已补充或无须补充
- [x] Changelog 已提供或无须提供
