HarmonyOS鸿蒙Next中获取input框输入值异常

HarmonyOS鸿蒙Next中获取input框输入值异常

现象描述

在input框中输入内容,点击提交按钮时,必填项校验失败,提示“xxx为空,请输入”。获取输入值代码为:

e.target.attr.value,this.$element('#id')。attr.value。

问题分析

此类问题一般为获取值的方式不正确,从而导致未能获取input框内的输入值。

解决方法

通过onchange事件对模型赋值来获取input框的值,具体方法如下:

  1. 初始化模型、
data:{
    accountValue=''
}
  1. input框绑定事件
<input @change="getAccountValue" value="{{accountValue}}">
  1. 赋值
getAccountValue: function(e) {
    this.accountValue = e.value // 此处为e.value, 而非e.target.attr.value
}

建议与总结

编码时尽量参考官方文档,而不是通过打印js对象的方式,js对象可能存在厂商兼容问题,而规范是统一的。

目前快应用的数据绑定方式为单向:

  1. 在界面上的input框中输入值不会改变data中的accountValue。

  2. 通过 this.accountValue = xxx 的方式修改input框的值,不会触发input的onchange事件。

  3. 通过 this.accountValue = xxx 的方式修改值,如果修改前和修改后accountValue的值相同,则不会触发页面重新渲染。


更多关于HarmonyOS鸿蒙Next中获取input框输入值异常的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS鸿蒙Next中获取input框输入值异常的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,获取input框输入值异常可能由以下原因导致:

  1. 事件绑定问题:确保正确绑定了inputchange事件,以捕获用户输入。
  2. 异步问题:如果使用异步操作,确保在获取值之前,输入已完成。
  3. 组件生命周期:在组件生命周期中,确保在合适的时机获取值,如onChangeonBlur事件中。
  4. 数据类型:检查输入值的数据类型,确保与预期一致。
  5. 调试:使用console.log或调试工具检查输入值,定位问题。

建议检查事件绑定和生命周期,确保在正确时机获取输入值。

回到顶部