From 3b664310a3ba8981ace3ea1d648b34a17900a8ca Mon Sep 17 00:00:00 2001 From: ivwfd323 <15370960+ivwfd323@user.noreply.gitee.com> Date: Wed, 15 Jan 2025 01:30:28 +0000 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=97=B6=E9=97=B4=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E5=BC=B9=E7=AA=97Builder=E5=A4=9A=E5=8F=82=E5=AF=BC?= =?UTF-8?q?=E8=87=B4UI=E4=B8=8D=E5=88=B7=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ets/component/DatePickerDialogView.ets | 44 +++++++++++-------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/harmony_dialog/src/main/ets/component/DatePickerDialogView.ets b/harmony_dialog/src/main/ets/component/DatePickerDialogView.ets index 39ffdcc..16b6998 100644 --- a/harmony_dialog/src/main/ets/component/DatePickerDialogView.ets +++ b/harmony_dialog/src/main/ets/component/DatePickerDialogView.ets @@ -199,30 +199,30 @@ export default struct DatePickerDialogView { .width('100%') Row() { - this.TextPickerView(this.years, this.year, this.containYear, 10, (value) => { + this.TextPickerView({ range : this.years, value: this.year, contain: this.containYear,layoutWeight: 10, callback: (value) => { this.year = value as string; this.onChangeData(1); - }) - this.TextPickerView(this.months, this.month, this.containMonth, 9, (value) => { + }}) + this.TextPickerView({ range : this.months, value: this.month, contain: this.containMonth,layoutWeight: 9, callback: (value) => { this.month = value as string; this.onChangeData(2); - }) - this.TextPickerView(this.days, this.day, this.containDay, 9, (value) => { + }}) + this.TextPickerView({ range : this.days, value: this.day, contain: this.containDay,layoutWeight: 9, callback: (value) => { this.day = value as string; this.onChangeData(3); - }) - this.TextPickerView(this.hours, this.hour, this.containHour, 9, (value) => { + }}) + this.TextPickerView({ range : this.hours, value: this.hour, contain: this.containHour,layoutWeight: 9, callback: (value) => { this.hour = value as string; this.onChangeData(4); - }) - this.TextPickerView(this.minutes, this.minute, this.containMinute, 9, (value) => { + }}) + this.TextPickerView({ range : this.minutes, value: this.minute, contain: this.containMinute,layoutWeight: 9, callback: (value) => { this.minute = value as string; this.onChangeData(5); - }) - this.TextPickerView(this.seconds, this.second, this.containSecond, 9, (value) => { + }}) + this.TextPickerView({ range : this.seconds, value: this.second, contain: this.containSecond,layoutWeight: 9, callback: (value) => { this.second = value as string; this.onChangeData(6); - }) + }}) } .alignItems(VerticalAlign.Center) .justifyContent(FlexAlign.Center) @@ -242,21 +242,27 @@ export default struct DatePickerDialogView { @Builder - TextPickerView(range: string[], value: string, contain: boolean, layoutWeight: number, - callback: (value: string | string[], index: number | number[]) => void) { + TextPickerView(data: TextPickerViewParams) { TextPicker({ - range: range, - value: value + range: data.range, + value: data.value }) - .layoutWeight(layoutWeight) + .layoutWeight(data.layoutWeight) .textStyle(this.options.textStyle) .selectedTextStyle(this.options.selectedTextStyle) .disappearTextStyle(this.options.disappearTextStyle) .divider(this.options.divider) .canLoop(this.options.canLoop) - .visibility(contain ? Visibility.Visible : Visibility.None) - .onChange(callback) + .visibility(data.contain ? Visibility.Visible : Visibility.None) + .onChange(data.callback) } } +interface TextPickerViewParams { + range: string[]; + value: string; + contain: boolean; + layoutWeight: number; + callback: (value: string | string[], index: number | number[]) => void +} -- Gitee