HarmonyOS 鸿蒙Next 关于复杂表单的校验
HarmonyOS 鸿蒙Next 关于复杂表单的校验 在一个arkts的页面中,如果有多个表单项,可填可不填,另外还有弹出框选项,最重要的是还有一堆pdf文件,有的必读有的可读,这样当所有必填项都完成以及所有必读pdf都已读,下面的提交按钮才能亮起,这样的需求怎么实现?harmony有类似于vue中computed这样的计算属性吗?
5 回复
我想到的办法写起来很麻烦,用 if 判断,如果必填必读的都处理过就展示可点击的按钮样式,否则就是不可点击的按钮样式。
如果有什么好方法,踢一下我,我也想找到更好的办法
更多关于HarmonyOS 鸿蒙Next 关于复杂表单的校验的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
解决了,harmony里面的方法本身就是computed,给button的enable绑定一个方法,伪代码如下:
Button('test').enabled(this.isButtonEnabled())
//计算当前是否点击
isButtonEnabled(): boolean {
let flag1 = this.xxx1.length > 0
let flag2 = this.xxx2.length > 0
let flag3 = this.pdfList.every(item => !item.mustRead && item.checked)
return flag1 && flag2 && flag3
}
不太清楚这样在enabled里面调用函数能不能做到实时改变UI还是说只会在进入页面的时候计算一次,比如某一个输入框的内容被清空后button还能不能点击,如果尝试过,希望告诉一下我结果OVO,