You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Svelte Material UI Autocomplete输入框宽度设置问题

解决Svelte Material UI Autocomplete输入框宽度设置问题

由于Svelte Material UI(SMUI)的Autocomplete组件会封装内部DOM结构,直接给组件加内联样式只会作用于外层容器,无法影响内部的输入框。可以用以下两种方法解决:

方法1:通过CSS选择器穿透设置样式

给Autocomplete组件添加自定义类名,然后使用:global()选择器选中内部输入元素来设置宽度:

<script>
  import { Autocomplete } from '@smui/autocomplete';
</script>

<Autocomplete class="custom-auto" options={['选项1', '选项2', '选项3']} />

<style>
  .custom-auto :global(input) {
    width: 350px; /* 替换为你需要的宽度 */
  }
</style>

方法2:利用组件的inputProps传递样式

SMUI的Autocomplete支持通过inputProps属性,直接把样式传递给内部的输入框组件:

<script>
  import { Autocomplete } from '@smui/autocomplete';
</script>

<Autocomplete 
  options={['选项1', '选项2', '选项3']}
  inputProps={{ style: { width: '350px' } }}
/>

第一种方法适合需要批量设置样式或者配合其他CSS规则的场景,第二种更适合快速内联设置单个组件的样式,两者都能直接作用到内部的输入框元素。

内容的提问来源于stack exchange,提问作者Paul VanDyke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 22:00:54