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

如何禁用Amplify默认Auth UI中的提交按钮

方案1:CSS快速隐藏

这是成本最低的实现方式,直接通过Amplify组件自带的属性选择器定位到默认提交按钮,设置隐藏即可。在你的全局CSS文件中添加如下代码:

/* 仅隐藏登录页的默认提交按钮,不影响其他页面 */
[data-amplify-authenticator] [slot="sign-in"] button[type="submit"] {
  display: none !important;
}

方案2:重写登录插槽(更彻底,无冗余DOM)

如果你完全不需要账号密码登录功能,只保留第三方Oauth登录,可以直接覆盖整个登录插槽的表单内容,默认的输入框、提交按钮都会自动不渲染。
修改你的代码如下:

import { AmplifyAuthenticator, AmplifySignIn, AmplifyOauthButton } from '@aws-amplify/ui-react';

function App() {
  return (
    <AmplifyAuthenticator>
      <AmplifySignIn slot="sign-in">
        {/* 清空默认表单字段插槽 */}
        <div slot="form-fields"></div>
        <AmplifyOauthButton />
      </AmplifySignIn>
      <div className="App">
        <Users></Users>
      </div>
    </AmplifyAuthenticator>
  );
}

如果你使用的是Amplify UI v2版本

v2版本采用自定义组件的配置方式,直接替换登录表单即可:

import { Authenticator } from '@aws-amplify/ui-react';
import '@aws-amplify/ui-react/styles.css';

// 自定义登录表单,仅保留Oauth按钮
const customComponents = {
  SignIn: {
    Form: () => <AmplifyOauthButton />,
  },
};

function App() {
  return (
    <Authenticator components={customComponents}>
      {({ signOut }) => (
        <div className="App">
          <Users />
          <button onClick={signOut}>退出登录</button>
        </div>
      )}
    </Authenticator>
  );
}

内容的提问来源于stack exchange,提问作者Ranopriyo Neogy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 21:45:04