合作咨询
我们的专家服务团队将竭诚为您提供专业的合作咨询服务
HarmonyOS开发者版主1TextInput如何实现限制两位小数,不能以小数点开头的场景。

1、限制输入内容只能是两位小数,如在onChange中用正则判断输入内容是否符合要求,会导致光标有闪烁现象,这种场景需要在输入之前进行拦截。
2、在onChange中补齐0,如果直接输入.会在.之前补0。
3、在onWillInsert中判断如果已输入的字符包含.且将要输入的字符是. 或如已输入的内容满足两位小数条件,返回false不让输入,否则返回true。
TextInput({ text: this.textThree, placeholder: 'input your word...', controller: this.controllerThree })
.type(InputType.NUMBER_DECIMAL)
.onChange((value: string) => {
// 当直接输入‘.’的时候自动补齐‘0.’,否则正常显示输入的字符
if (value === '.') {
this.textThree = '0.';
} else {
this.textThree = value;
}
})
// 在返回true时,表示正常插入,返回false时,表示不插入
.onWillInsert((info: InsertValue) => {
// ^ 和 $ 分别指字符串的开始与结束,以数字开始,以小数点+两位数字结束
let reg = /^\d+\.\d{2}$/
// 如果输入的文本包含'.',且将要输入的字符是'.' 或者输入框的内容已经满足两位小数,返回false不让输入
if (this.textThree.includes('.') && info.insertValue === '.' || reg.test(this.textThree)) {
return false
}
return true
})
我要提问题
HarmonyOS CAPI如何实现TextInput内联输入风格(API12+)
HarmonyOS 使用PDFView预览PDF如何限制手动缩放PDF文件的倍率(API12+)
HarmonyOS list组件横向滑动时,第一项还可以左滑,如何限制不能滑动 (API12+)
HarmonyOS 修改文件名称有限制吗 (API12+)
HarmonyOS TextInput如何限制输入两位小数?(API12+)
HarmonyOS TextInput如何限制输入数字范围?(API12+)
HarmonyOS TextInput如何限制中文、英文或者数字输入?(API12+)
HarmonyOS textInput InputType.Number 希望能限制输入数字范围 (API12+)
合作咨询
我们的专家服务团队将竭诚为您提供专业的合作咨询服务
解决方案
精准高效的一站式服务支持,助力开发者商业成功