HarmonyOS 使用TextInput,.type\(InputType.NUMBER\_DECIMAL\)如何输完只保留三位小数,而且大于0?

如题:HarmonyOS 使用TextInput,.type(InputType.NUMBER\_DECIMAL)如何输完只保留三位小数,而且大于0?

阅读 423
1 个回答

请参考以下代码:

@Entry
@Component
struct TextInputExample {
  @State message: string = '0.3256'
  controller: TextInputController = new TextInputController()
  build() {
    Column() {
      TextInput({placeholder: '请输入内容', text: this.message })
        .width('100%')
          //类型为带小数点的数字输入模式,inputFilter会导致设置输入框类型(即type接口)附带的文本过滤效果失效
        .type(InputType.NUMBER_DECIMAL)
        .maxLength(11)
          //显示定义正则表达式
        .inputFilter('^\\d*\\.?\\d{0,3}$',(e) =>{
          console.log('正则表达式-3',JSON.stringify(e))
        })
        .backgroundColor(Color.Green)
    }
  }
}