TDesign Input输入框高度怎么改不了? 怡彤 提问于 2026-02-24 19:10:18 阅读 24 组件 我用 TDesign 的 Input 组件,想改高一点,但加了 height 好像没生效,是不是被内部样式覆盖了? 我试过直接在组件上加 style,也试过用 class 覆盖,都不行。控制台看元素,发现 input 被包了好几层 div,真正的 input 还是原来的高度。 .my-input { height: 48px !important; } .t-input__inner { height: 48px !important; } 我来解答 赞 7 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 2 条解答 ♫文婷 Lv1 兄弟,TDesign 的 Input 改高度确实有点坑,它内部结构比较复杂,你覆盖的 .t-input__inner 可能选错目标了。 试试用 CSS 变量,这是 TDesign 官方推荐的方式: .my-input { --td-input-height: 48px; --td-input-padding: 0 16px; } 如果 CSS 变量不行,那就直接干外层: .my-input .t-input { height: 48px; } .my-input .t-input__inner { height: 100% !important; } JS里面如果用的是 Vue,可以这样: <t-input class="my-input" /> .my-input { --td-input-height: 48px; } 核心问题是你得覆盖到正确的类名,t-input 外层 div 才是控制高度的关键,inner 那个是继承高度的。先试试 CSS 变量,不行再暴力覆盖。 回复 点赞 1 2026-03-10 23:38 诗辰 Dev Lv1 你这问题我太熟悉了,TDesign 的 Input 确实坑在这儿——它把高度控制拆到多个层里,光改 .t-input__inner 不够,得连带外壳一起改。 先看结构:div.t-input 包着 div.t-input__inner,再包着真正的 input,三者都得设高度。 你这样写试试: <div class="my-input"> <t-input /> </div> .my-input, .my-input .t-input, .my-input .t-input__inner, .my-input .t-input__inner input { height: 48px !important; line-height: 48px !important; /* 这行很重要,不然文字垂直居中会乱 */ box-sizing: border-box !important; } 注意 box-sizing 要设成 border-box,不然 padding 会让实际高度超标。 要是你用的是 Vue 或 React 的 scoped 样式,记得加 :deep() 或 ::v-deep穿透,比如 Vue3: :deep(.my-input .t-input) { height: 48px; } 拿去改改,一般都能搞定。 回复 点赞 3 2026-02-24 19:11 加载更多 相关推荐 1 回答 47 浏览 TDesign Input 绑定值后无法输入内容是怎么回事? 我用 TDesign 的 Input 组件绑定了一个响应式变量,但页面渲染后输入框没法输入任何内容,光标能聚焦但打字无效。是不是哪里写错了? 我试过直接修改 data 里的值,也试过用 ref,都不行... 程序员仙仙 组件 2026-03-16 17:46:19 2 回答 53 浏览 TagInput删除标签后输入框失去焦点怎么办? 我在实现TagInput组件时遇到了个奇怪的问题,每次删除标签后输入框就会自动失去焦点,用户体验特别差。 我尝试用ref在删除方法里手动调用focus(),但好像时机不对?比如这样写: handleD... 程序员爱棋 组件 2026-02-05 17:31:29 1 回答 41 浏览 TDesign级联组件怎么设置默认选中值? 我用TDesign的Cascader组件做地区选择,数据是动态加载的,但不知道怎么设置默认选中的值。试过直接给value赋值数组,比如['110000', '110100'],但组件没反应,下拉框还是... 程序员书娟 组件 2026-03-29 19:08:13 2 回答 45 浏览 TagInput 组件怎么限制输入的标签数量? 我在用一个 TagInput 组件,想限制用户最多只能输入 5 个标签,但不知道该怎么实现。试过在 onInput 里判断 tags.length,但好像没生效。 比如用户已经输入了 5 个标签,这时... Dev · 钧溢 组件 2026-03-27 04:27:22 1 回答 48 浏览 TDesign 表格怎么实现点击行选中复选框? 我在用 TDesign 的 Table 组件时,想实现点击整行就能选中对应的复选框,但不知道该怎么配置。官方文档里好像没找到直接的示例。 我试过给 rowKey 设置了唯一值,也启用了 selecta... ♫银银 组件 2026-03-23 12:32:23 1 回答 42 浏览 Arco Design 的 Input 组件怎么绑定值不生效? 我用 Arco Design 的 Input 组件,想通过 v-model 绑定一个变量,但输入框内容变了,data 里的值却没更新。试了官网的例子,也照着写了,但就是不行。 我的代码是这样的: &l... 设计师庆芳 组件 2026-03-08 19:54:20 1 回答 46 浏览 Android上input输入框聚焦后页面布局错乱怎么办? 我在做一个移动端表单页面,iOS 上一切正常,但在 Android 手机(比如三星、小米)上点击 input 输入框时,页面会突然往上顶,底部导航栏被顶出视野,甚至有些元素错位。试过加 viewpor... 设计师雨妍 优化 2026-03-03 18:24:20 2 回答 42 浏览 TDesign Mobile的TabPane内容区域无法滚动怎么办? 在用TDesign Mobile的Tab组件做页面时,发现TabPane的内容区域设置了高度后无法滚动,内容直接溢出到页面外了,试过加overflow属性也不行 <template> &l... 宇文远香 移动 2026-02-10 23:53:27 2 回答 60 浏览 TDesign对话框关闭后表单内容未重置怎么办? 用TDesign的Dialog做表单弹窗时遇到个问题,每次关闭对话框再打开,之前填写的内容还在,怎么都清不掉... 我这样写的:在setup里用ref存表单值,关闭时手动设为空了啊: const di... 子荧~ 组件 2026-02-05 10:14:27 2 回答 60 浏览 TDesign表单中按钮和输入框间距不一致,如何按规范对齐? 在用TDesign做表单布局时,输入框和按钮之间的间距总感觉不对劲。比如下面这段代码,输入框和按钮用了同样的margin,但实际看起来垂直间距明显不一致: 提交 按照TDesign的设计规范应该怎样调... 玉茂酱~ 组件 2026-01-26 22:54:26
试试用 CSS 变量,这是 TDesign 官方推荐的方式:
如果 CSS 变量不行,那就直接干外层:
JS里面如果用的是 Vue,可以这样:
核心问题是你得覆盖到正确的类名,t-input 外层 div 才是控制高度的关键,inner 那个是继承高度的。先试试 CSS 变量,不行再暴力覆盖。
.t-input__inner不够,得连带外壳一起改。先看结构:
div.t-input包着div.t-input__inner,再包着真正的input,三者都得设高度。你这样写试试:
注意
box-sizing要设成border-box,不然 padding 会让实际高度超标。要是你用的是 Vue 或 React 的 scoped 样式,记得加
:deep()或::v-deep穿透,比如 Vue3:拿去改改,一般都能搞定。