Ionic 4 / Angular - 验证突出显示超出本机输入字段

Ionic 4 / Angular - validation highlight extends past the native input field

将用户输入添加到设置宽度的输入表单时,下划线超出输入范围。

给定以下代码:

    <ion-list lines="none">
      <ion-item>
         <ion-label color="medium" position="floating">Username</ion-label>
         <ion-input type="text" formControlName="username" autocomplete="username"></ion-input>
              </ion-item>
            <ion-text
                color="danger"
                [hidden]="loginForm.controls.username.valid || loginForm.controls.username.untouched"
              >
                <span padding>Valid email is required</span>
            </ion-text>
            <ion-item>
              <ion-label color="medium" position="floating">Password</ion-label>
              <ion-input type="password" formControlName="password" autocomplete="current-password"></ion-input>
            </ion-item>
            <ion-text
                color="danger"
                [hidden]="loginForm.controls.password.valid || loginForm.controls.password.untouched"
              >
                <span padding translate>Password is required</span>
            </ion-text>
            <a href="/login/forgot" class="forgot-password ion-float-right">
                [Forgot Your Password?]
            </a>
         </ion-list>

此外,当我在一个字段上切换时,INPUT 覆盖了整个 ion-item 字段,而不是 ion-input 字段,如下所示:

我尝试了对 css 的各种更改,但没有取得太大的成功。通过检查器,我可以通过将 --inset-padding-end 变量更改为 0 来解决这个问题,但我还没有找到如何全局更改/设置它?

有没有任何人知道的快速修复方法?当ion-list设置为"inset"时,这个错误特别难看,如下图:

这与您输入表单的固定宽度无关。请将 ion-item --padding-start 的 css 属性 设置为 0

    ion-item {
     --padding-start: 0;
    }

离子项目还有其他与填充相关的 custom css properties,您可以使用它们来获得任何想要的效果。