Ionic框架ion-input的shape属性异常?左侧无法显示圆角
解决Ionic ion-input圆角左侧显示直角的问题
你的问题出在用ion-item包裹ion-input的写法上——不管把shape和fill属性放在ion-item还是ion-input上,ion-item的默认容器样式都会干扰输入框的圆角显示,尤其是左侧的视觉效果。
正确的写法
根据Ionic当前规范,ion-input已支持独立使用,无需嵌套在ion-item中。直接给ion-input设置shape="round"和fill="outline"即可:
<ion-input v-model="name" name="name" type="text" :spellcheck="false" autocapitalize="off" :placeholder="namePlaceholder" required shape="round" fill="outline" ></ion-input> <ion-input v-model="email" name="email" type="email" :spellcheck="false" autocapitalize="off" :placeholder="emailPlaceholder" required shape="round" fill="outline" ></ion-input>
若必须保留ion-item
如果因需求必须用ion-item包裹,需给ion-item设置样式消除它对输入框的影响:
<ion-item lines="none" style="--border-radius: 0; padding: 0;"> <ion-input v-model="name" name="name" type="text" :spellcheck="false" autocapitalize="off" :placeholder="namePlaceholder" required shape="round" fill="outline" ></ion-input> </ion-item>
通过--border-radius: 0移除ion-item自身圆角,padding: 0消除内边距,避免遮挡输入框左侧圆角。
之前写法无效的原因
- 第一种写法把
shape和fill放在ion-item上,这是Ionic已废弃的旧用法,当前这些属性仅对ion-input生效; - 第二种写法虽属性位置正确,但
ion-item的默认内边距和容器样式会遮挡输入框左侧圆角,视觉上呈现直角。
内容的提问来源于stack exchange,提问作者caro
相关产品推荐
相关产品推荐

