表单组件
XYGo Admin 2025-02-20 57 次阅读
Element Plus 表单最佳实践与内置表单组件
表单组件
Element Plus 表单
项目中的表单统一使用 Element Plus 的 ElForm 组件,配合 ElDialog 实现弹窗编辑。
标准表单模式
vue
<template>
<ElDialog v-model="visible" :title="isEdit ? '编辑' : '新增'" width="600px">
<ElForm ref="formRef" :model="formData" :rules="rules" label-width="80px">
<ElFormItem label="名称" prop="name">
<ElInput v-model="formData.name" placeholder="请输入名称" />
</ElFormItem>
<ElFormItem label="状态" prop="status">
<ElSelect v-model="formData.status">
<ElOption label="正常" :value="1" />
<ElOption label="禁用" :value="2" />
</ElSelect>
</ElFormItem>
</ElForm>
<template #footer>
<ElButton @click="visible = false">取消</ElButton>
<ElButton type="primary" @click="handleSubmit" :loading="submitting">保存</ElButton>
</template>
</ElDialog>
</template>
验证规则
typescript
const rules: FormRules = {
name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
status: [{ required: true, message: '请选择状态', trigger: 'change' }]
}
内置表单组件
| 组件 | 说明 |
|---|---|
| ArtSearchBar | 搜索栏组件 |
| ArtForm | 通用表单生成器 |
| ArtImageUpload | 图片上传(支持裁剪、多图) |
| ArtFileUpload | 文件上传 |
| ArtFileSelector | 从附件库选择文件 |
| ArtIconSelector | 图标选择器 |
| ArtColorPicker | 颜色选择器 |
| ArtArrayEditor | 数组编辑器 |
| ArtCronDesigner | Cron 表达式设计器 |
| ArtWangEditor | 富文本编辑器 |
| ArtClickCaptcha | 点选验证码 |
| ArtDragVerify | 拖拽验证 |
| ArtExcelImport | Excel 导入 |
| ArtExcelExport | Excel 导出 |
图片上传示例
vue
<ElFormItem label="封面图">
<ArtImageUpload v-model="formData.cover" :limit="1" />
</ElFormItem>
富文本编辑器
项目内置两种富文本方案:
- WangEditor:适合简单富文本场景
- md-editor-v3:适合 Markdown 文档编辑
vue
<!-- WangEditor -->
<ArtWangEditor v-model="formData.content" />
<!-- Markdown 编辑器 -->
<MdEditor v-model="formData.content" />