feat: 全局组件添加RichTextarea

This commit is contained in:
dap 2024-09-25 17:22:22 +08:00
parent 15851b063a
commit 8e39e7e70d
3 changed files with 10 additions and 7 deletions

View File

@ -34,6 +34,8 @@ import {
} from 'ant-design-vue';
import { isArray } from 'lodash-es';
import { Tinymce as RichTextarea } from '#/components/tinymce';
// 这里需要自行根据业务组件库进行适配,需要用到的组件都需要在这里类型说明
export type FormComponentType =
| 'AutoComplete'
@ -49,6 +51,7 @@ export type FormComponentType =
| 'RadioGroup'
| 'RangePicker'
| 'Rate'
| 'RichTextarea'
| 'Select'
| 'Space'
| 'Switch'
@ -82,6 +85,7 @@ setupVbenForm<FormComponentType>({
RadioGroup,
RangePicker,
Rate,
RichTextarea,
Select,
Space,
Switch,
@ -98,6 +102,7 @@ setupVbenForm<FormComponentType>({
modelPropNameMap: {
Checkbox: 'checked',
Radio: 'checked',
RichTextarea: 'modelValue',
Switch: 'checked',
Upload: 'fileList',
},

View File

@ -81,7 +81,10 @@ export const modalSchema: FormSchemaGetter = () => [
rules: 'required',
},
{
component: 'Input',
component: 'RichTextarea',
componentProps: {
width: '100%',
},
fieldName: 'noticeContent',
formItemClass: 'col-span-2',
label: '公告内容',

View File

@ -7,7 +7,6 @@ import { cloneDeep } from '@vben/utils';
import { useVbenForm } from '#/adapter';
import { noticeAdd, noticeInfo, noticeUpdate } from '#/api/system/notice';
import { Tinymce } from '#/components/tinymce';
import { modalSchema } from './data';
@ -70,10 +69,6 @@ async function handleCancel() {
<template>
<BasicModal :fullscreen-button="true" :title="title" class="w-[800px]">
<BasicForm>
<template #noticeContent="slotProps">
<Tinymce v-bind="slotProps" width="100%" />
</template>
</BasicForm>
<BasicForm />
</BasicModal>
</template>