MujicaUI

Settings & Account · #467

LoginForm 浅色主题渲染快照
浅色 · 渲染快照
LoginForm 深色主题渲染快照
深色 · 渲染快照

467 LoginForm

登录表单。

用途

账号、密码与“记住我”;提交中禁用输入;显示调用方给出的错误(含频率限制、锁定)。密码在私有临时状态中编辑,经提交回调传出,完成后清除;账号校验由调用方完成。

最小示例

var state account.LoginFormState
view := func(c *ui.Context) {
	core.Use(c, core.Settings{})
	account.LoginForm(c, &state, account.LoginFormOptions{OnSubmit: func(account, password string, remember bool) {
		// Submit credentials through the caller-provided auth service.
		state.EndSubmit("")
	}})
}
ui.Render(view, 400, 300, 1)

参数

字段类型默认值含义
s*LoginFormState必填Account、Remember 可读写;密码不可读取。
OnSubmitfunc(account, password string, remember bool)必填唯一接收凭据的出口。
AccountLabelstring内置“Email or username”账号标签。
Disabledboolfalse禁用。

状态

默认、必填错误、提交中、失败(错误文字)、禁用。

事件

OnSubmit 每次提交调用一次;完成后调用 s.EndSubmit(err),密码随即清除。

键盘操作

Tab 顺序:账号、密码、显示密码、记住我、登录;任一字段中 Enter 提交;缺项时聚焦第一个空字段。

限制

  • 凭据只经调用方回调传出;密码、验证码与密钥不会写入日志、Label 或 Description。
  • 提交失败后需重新输入密码。