12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- <template>
- <div class="m-4">
- <CollapseContainer title="富文本表单">
- <BasicForm
- :labelWidth="100"
- :schemas="schemas"
- :actionColOptions="{ span: 24 }"
- @submit="handleSubmit"
- >
- </BasicForm>
- </CollapseContainer>
- </div>
- </template>
- <script lang="ts">
- import { defineComponent, h } from 'vue';
- import { BasicForm, FormSchema } from '/@/components/Form/index';
- import { CollapseContainer } from '/@/components/Container/index';
- import { useMessage } from '/@/hooks/web/useMessage';
- import { Tinymce } from '/@/components/Tinymce/index';
- const schemas: FormSchema[] = [
- {
- field: 'title',
- component: 'Input',
- label: 'title',
- defaultValue: 'defaultValue',
- rules: [{ required: true }],
- },
- {
- field: 'tinymce',
- component: 'Input',
- label: 'tinymce',
- defaultValue: 'defaultValue',
- rules: [{ required: true }],
- render: ({ model, field }) => {
- return h(Tinymce, {
- value: model[field],
- onChange: (value: string) => {
- model[field] = value;
- },
- });
- },
- },
- ];
- export default defineComponent({
- components: { BasicForm, CollapseContainer, Tinymce },
- setup() {
- const { createMessage } = useMessage();
- return {
- schemas,
- handleSubmit: (values: any) => {
- createMessage.success('click search,values:' + JSON.stringify(values));
- },
- };
- },
- });
- </script>
|