From fdeb869c386da95150a087bc22bcebc4e57d0f76 Mon Sep 17 00:00:00 2001 From: Tevin <tingquanren@163.com> Date: Tue, 18 Mar 2025 18:16:32 +0800 Subject: [PATCH] 更新所有表单组件文档和头注释 --- forms/datePicker/CDatePicker.vue | 49 ++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 44 insertions(+), 5 deletions(-) diff --git a/forms/datePicker/CDatePicker.vue b/forms/datePicker/CDatePicker.vue index 4f3d64c..dd2c173 100644 --- a/forms/datePicker/CDatePicker.vue +++ b/forms/datePicker/CDatePicker.vue @@ -1,12 +1,15 @@ /** * CDatePicker - 选择日期范围操作 + * 日期选择组件,用于在表单中选择日期或日期范围 + * 支持三种选择模式:日期选择、日期时间选择和日期范围选择 + * 可限制日期选择范围,支持清除功能和只读模式 * @author Tevin */ <template> <view class="c-date-picker" - :class="readOnly ? 'read-only':''" + :class="readOnly?'read-only':''" > <CDateRangeAction v-if="mode==='dateRange'" @@ -23,9 +26,14 @@ :placeholder="placeholder" > <view - v-show="!readOnly" + v-show="!readOnly && !showClear" class="at-icon at-icon-chevron-right" /> + <view + v-show="!readOnly && showClear" + class="at-icon at-icon-close" + @tap.stop="evt => handleClear()" + ></view> </AtInput> </CDateRangeAction> <CDateTimeAction @@ -43,9 +51,14 @@ :placeholder="placeholder" > <view - v-show="!readOnly" + v-show="!readOnly && !showClear" class="at-icon at-icon-chevron-right" /> + <view + v-show="!readOnly && showClear" + class="at-icon at-icon-close" + @tap.stop="evt => handleClear()" + ></view> </AtInput> </CDateTimeAction> <view v-else-if="mode==='date'"> @@ -53,6 +66,7 @@ mode="date" :start="limitStart || pickerStart" :end="limitEnd || pickerEnd" + :fields="fields" :value="itemRes.formData[itemRes.name]" @change="evt=>handleChange(evt.detail.value)" > @@ -65,9 +79,14 @@ :placeholder="placeholder" > <view - v-show="!readOnly" + v-show="!readOnly && !showClear" class="at-icon at-icon-chevron-right" /> + <view + v-show="!readOnly && showClear" + class="at-icon at-icon-close" + @tap.stop="evt => handleClear()" + ></view> </AtInput> </picker> </view> @@ -103,8 +122,18 @@ limitStart: String, // 结束日期 limitEnd: String, + // 日期选择粒度 year、month、day + fields: { + type: String, + default: 'day', + }, // 是否只读 readOnly: { + type: Boolean, + default: false, + }, + // 允许清除 + allowClear: { type: Boolean, default: false, }, @@ -116,11 +145,21 @@ pickerEnd: year + 30 + '-12-31', }; }, - computed: {}, + computed: { + showClear() { + if (!this.allowClear) { + return false; + } + return !!this.itemRes.formData[this.itemRes.name]; + }, + }, methods: { handleChange(val) { this.itemRes.onChange(val); }, + handleClear() { + this.itemRes.onChange(''); + }, }, mounted() {}, }; -- Gitblit v1.9.1