| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- <template>
- <div class="p-4">
- <div class="p-4 bg-white">
- <a-button-group class="j-table-operator">
- <a-button type="primary" @click="setDis(0)">启用</a-button>
- <a-button type="primary" @click="setDis(1)">禁用</a-button>
- <a-button type="primary" @click="getValues()">校验表单并获取值</a-button>
- <a-button type="primary" @click="setValues()">设置值</a-button>
- </a-button-group>
- <BasicForm @register="register" @submit="handleSubmit" />
- </div>
- </div>
- </template>
- <script lang="ts">
- export default {
- title: '富文本 | Markdown',
- name: 'MarkdownDemo',
- };
- </script>
- <script lang="ts" setup>
- import { FormSchema, useForm, BasicForm } from '/@/components/Form';
- import { useMessage } from '/@/hooks/web/useMessage';
- const { createMessage, createSuccessModal } = useMessage();
- const schemas: FormSchema[] = [
- {
- field: 'name',
- component: 'Input',
- label: '姓名',
- required: true,
- defaultValue: 'zhangsan',
- },
- {
- field: 'tinymce',
- component: 'JEditor',
- label: '富文本',
- defaultValue: 'defaultValue',
- required: true,
- },
- {
- field: 'markdown',
- component: 'JMarkdownEditor',
- label: 'Markdown',
- defaultValue: '# 张三',
- required: true,
- componentProps: {
- height: 300,
- },
- },
- ];
- const [register, { setProps, validate, setFieldsValue }] = useForm({
- labelWidth: 120,
- schemas: schemas,
- actionColOptions: {
- span: 24,
- },
- compact: true,
- showResetButton: false,
- showSubmitButton: false,
- showAdvancedButton: false,
- disabled: false,
- });
- function handleSubmit(values) {
- console.log(values);
- }
- function setDis(flag) {
- setProps({ disabled: !!flag });
- }
- async function getValues() {
- try {
- const values = await validate();
- console.log(values);
- createSuccessModal({
- title: '校验通过',
- content: `${JSON.stringify(values)}`,
- });
- } catch (error) {
- createMessage.warning('检验不通过');
- }
- }
- function setValues() {
- setFieldsValue({
- name: 'LiSi',
- markdown: '# 李四',
- tinymce: '<p><strong><span style="font-size: 18pt;">张<span style="color: #e03e2d;">三</span>丰</span></strong></p>',
- });
- }
- </script>
- <style scoped></style>
|