MujicaUI

Essentials · #487

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

487 MaskedInput 掩码输入

用途

按格式掩码输入电话、卡号等:9 数字、a 字母、* 二者皆可,其余字符原样显示。值只保存填入的字符。

最小示例

phone := ""
view := func(c *ui.Context) {
	core.Use(c, core.Settings{})
	input.MaskedInput(c, &phone, input.MaskedInputOptions{Mask: "(999) 999-9999", Label: "Phone"})
}

签名:func MaskedInput(c *ui.Context, value *string, opts MaskedInputOptions) InputResult

参数

字段类型默认值含义
Maskstring必填掩码;没有可填位 panic。
value*string必填已填字符;超长或不符掩码 panic。
Labelstring""无障碍名称。
Disabledboolfalse不可编辑。
Errorstring""错误信息。

状态

未填位置显示下划线;输入法组合期间显示带下划线的组合文字,不提交、不跳格,只有提交的文字进入掩码。

事件

Changed():值变化;Submitted():Enter。另有 MaskFormat(mask, raw) 生成带格式文字。

键盘操作

左右方向键、Home/End 移动光标;Backspace/Delete 删除;粘贴只取符合掩码的字符;Enter 提交。

限制

自绘编辑器:没有文字选择与撤销,复制得到未格式化的值。