HarmonyOS 鸿蒙Next组件封装之输入框
HarmonyOS 鸿蒙Next组件封装之输入框
组件封装
输入框在项目中经常出现,特别是在办公系统中更是经常使用,为了统一样式和方便使用通常我们会封装。
代码实例
import { TableData } from '../viewmodel/WaitDeal'
import { emitter } from '@kit.BasicServicesKit';
@Component
export struct TXTInPutComponent {
@Prop content: string = "";
tips: string = ""
onClickOK?: () => void;
@Consume dataShow: Set<TableData>;
@State text:string=""
aboutToAppear(): void {
}
build() {
Stack({ alignContent: Alignment.Center }) {
Column() {
Row() {
Text(this.tips)
.fontSize(14)
.fontColor('#999999')
.textAlign(TextAlign.Start)
.margin({ left: 15 })
}.width('100%')
Row() {
TextInput({ placeholder: '请输入' + this.tips, text:this.content})
.textAlign(TextAlign.Start)
.borderRadius(0)
.margin({ left: 16,top:8 })
.onChange((value: string) => {
this.text = value
})
.onEditChange((isEditing: boolean)=>{
if(!isEditing)
{
console.info("请输入", this.text);
Array.from(this.dataShow.entries()).forEach((item) => {
if (item[0].name == this.tips) {
item[0].field_value = this.text;
}
})
if (this.onClickOK !== undefined) {
this.onClickOK();
}
}
})
/*
.onSubmit((enterKey: EnterKeyType, event: SubmitEvent) => {
console.info("请输入", this.text);
Array.from(this.dataShow.entries()).forEach((item) => {
if (item[0].name == this.tips) {
item[0].field_value = this.text;
}
})
if (this.onClickOK !== undefined) {
this.onClickOK();
}
})
*/
}.width('100%')
Divider()
.strokeWidth(2)
.color('#eeeeee')
}
}.width('100')
}
}
更多关于HarmonyOS 鸿蒙Next组件封装之输入框的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
老师您好,我是华为的工作人员,我们一直在关注技术领域的优秀创作者,注意到您在平台分享多篇鸿蒙内容,今天和您联系,是想和您探讨一下Harmony os next技术学习资源创作合作机会,给予创作者激励,如有兴趣请与我联系(VX:ruixinzzz)。
更多关于HarmonyOS 鸿蒙Next组件封装之输入框的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
HarmonyOS中的输入框组件封装主要涉及TextInput
和TextField
两个核心组件。TextInput
用于单行文本输入,TextField
则支持多行文本输入。开发者可以通过设置属性来控制输入框的行为和外观,如placeholder
用于显示提示文本,maxLength
限制输入字符数,type
指定输入类型(如数字、密码等)。事件监听方面,onChange
用于捕获输入内容变化,onSubmit
处理提交事件。样式定制可通过style
属性实现,支持设置字体大小、颜色、边框等。组件封装时,建议将常用属性和事件抽象为统一接口,便于复用和维护。
在HarmonyOS鸿蒙Next中,组件封装是提升开发效率和代码复用性的关键。输入框(TextInput)作为常用组件,可通过自定义封装实现统一风格和功能扩展。首先,创建一个新的自定义组件类,继承自TextInput
,并在其中定义默认样式、输入验证、事件监听等逻辑。通过属性配置,开发者可以灵活调整输入框的行为和外观。封装后的输入框组件可直接在项目中复用,减少重复代码,提升开发效率。