DatePickerPanel
日期面板(无输入框)
适合在表单中嵌入内联面板或自定义弹层布局时使用。它拥有与 DatePicker 相同的 props,并会自动应用相同的 format / valueFormat 默认值,因此无需额外配置即可获得统一的字符串值。
Markup Schema 案例
<script lang="ts" setup>
import { createForm } from '@formily/core'
import { DatePickerPanel, Form, FormItem, Submit } from '@silver-formily/element-plus'
import { createSchemaField } from '@silver-formily/vue'
const form = createForm()
const { SchemaField, SchemaStringField, SchemaArrayField } = createSchemaField({
components: {
FormItem,
DatePickerPanel,
},
})
async function onSubmit(value) {
console.log(value)
}
</script>
<template>
<Form :form="form" layout="vertical">
<SchemaField>
<SchemaStringField
name="inlineDate"
title="内联日期"
x-decorator="FormItem"
x-component="DatePickerPanel"
:x-component-props="{ style: 'width: 340px' }"
/>
<SchemaArrayField
name="inlineRange"
title="内联范围"
x-decorator="FormItem"
x-component="DatePickerPanel"
:x-component-props="{
type: 'daterange',
style: 'width: 540px',
}"
/>
</SchemaField>
<Submit style="margin-top: 12px" @submit="onSubmit">
提交
</Submit>
</Form>
</template>查看源码
Template 案例
<script lang="ts" setup>
import { createForm } from '@formily/core'
import { DatePickerPanel, Form, FormItem, Submit } from '@silver-formily/element-plus'
import { ArrayField, Field } from '@silver-formily/vue'
const form = createForm()
async function onSubmit(value) {
console.log(value)
}
</script>
<template>
<Form :form="form" layout="vertical">
<Field
name="inlineDate"
title="内联日期"
:decorator="[FormItem]"
:component="[
DatePickerPanel,
{
style: 'width: 340px',
},
]"
/>
<ArrayField
name="inlineRange"
title="内联范围"
:decorator="[FormItem]"
:component="[
DatePickerPanel,
{
type: 'daterange',
style: 'width: 540px',
},
]"
/>
<Submit style="margin-top: 12px" @submit="onSubmit">
提交
</Submit>
</Form>
</template>查看源码
API
参考 https://cn.element-plus.org/zh-CN/component/date-picker.html#date-picker-panel