HarmonyOS鸿蒙Next中关于表单的组件库有哪些?需要包含输入、展示、校验、滚动等功能
HarmonyOS鸿蒙Next中关于表单的组件库有哪些?需要包含输入、展示、校验、滚动等功能 我们有大量的表达页面,有没有关于表单的组件库,需要包含输入、展示、校验、滚动等功能
目前没有统一的表单组件,只能通过textInput
,textArea
,switch
,label
,slider
等组件配合使用完成表单的功能。其中校验方法:TextInput
有提供showError
显示错误信息。
表单校验代码示例: https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-textinput-V5#示例2
可以参考react中的form表单。在form组件所在的页面,设置一个对象,对象中通过key值设置对应的value,在将对象的value传入对应的组件中,在组件中检查,是否可以修改value,可以修改在传给form父组件,提交的时候,使用form定义的值对象。可参考下面的简单demo
enum formKeys {
input1 = 'input1',
input2 = 'input2'
}
@Component
struct Index{
// 不定义key值类型也可以
@State formData: Record<formKeys, string> = {
[formKeys.input1]: '',
[formKeys.input2]: ''
}
changeData = (key: formKeys, value: string) => {
this.formData[key] = value
}
build() {
Column(){
Button('提交').onClick(() => {
console.info(JSON.stringify(this.formData))
})
InputComponent({ val: this.formData.input2, onChange: this.changeData, inputKey: formKeys.input2 })
InputComponent({ val: this.formData.input1, onChange: this.changeData, inputKey: formKeys.input1 })
}
}
}
@Component
struct InputComponent{
@Prop val: string
@Prop @Require inputKey: formKeys
@State errMsg: string = ''
onChange: (key: formKeys, value: string) => void = () => {}
build() {
Column(){
TextInput({
text: this.val,
placeholder: '不可输入数字'
}).onChange((val)=>{
let prev = this.val
// 先提交数据
this.onChange(this.inputKey, val)
// 后面这边校验,或者将这个校验提交到父级,都可以,看使用情况
if(/\d+/.test(val)){
this.errMsg = '不可输入数字'
// 在这边检验的时候,需要阻止输入的话,可以先提交一个值,之后在回退到上一个值,看使用情况
// this.onChange(this.inputKey, prev)
} else {
this.errMsg = ''
}
})
.showError(this.errMsg)
}
}
}
更多关于HarmonyOS鸿蒙Next中关于表单的组件库有哪些?需要包含输入、展示、校验、滚动等功能的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,表单相关的组件库主要包括以下几种:
输入组件:
TextInput
:用于文本输入,支持单行和多行输入。Picker
:用于选择器,支持日期、时间、普通选项等选择。Slider
:用于滑动选择数值范围。Checkbox
:用于多选框,支持单个或多个选择。RadioButton
:用于单选框,支持单选操作。
展示组件:
Text
:用于文本展示,支持多种样式和布局。Image
:用于图片展示,支持本地和网络图片。Progress
:用于进度条展示,支持线性进度和环形进度。DataPanel
:用于数据面板展示,支持多种数据格式。
校验组件:
Form
:用于表单整体校验,支持提交前的数据校验。Validator
:用于单个输入项的校验,支持自定义校验规则。
滚动组件:
ScrollView
:用于滚动视图,支持垂直和水平滚动。ListContainer
:用于列表展示,支持滚动和加载更多。
这些组件库涵盖了表单的输入、展示、校验和滚动等功能,能够满足大部分表单开发需求。
在HarmonyOS鸿蒙Next中,表单相关的组件库主要包括以下几个核心组件:
- TextInput:用于文本输入,支持多行、单行、密码等模式。
- TextArea:多行文本输入框,适用于长文本输入场景。
- Picker:用于选择日期、时间或其他自定义选项。
- Checkbox:复选框,支持多选。
- Radio:单选框,支持单选。
- Switch:开关控件,用于开启或关闭某项功能。
- Label:用于展示静态文本或标签,支持富文本。
- Form:表单容器,用于整合多个表单控件。
- Validator:用于表单数据的校验,支持自定义校验规则。
- ScrollView:支持滚动的容器,适用于内容超出屏幕的场景。
这些组件共同构成了HarmonyOS鸿蒙Next中完整的表单功能,满足输入、展示、校验和滚动等需求。