重点:updateSchema
Vben Admin updateSchema 官网
用法:
<template>
<BasicModal :destroy-on-close="true" @register="registerModal" title="标题" width="1400px">
<BasicForm @register="registerForm">
</BasicForm>
</BasicModal>
</template>
<script lang="ts" setup name="demo">
import { BasicModal, useModalInner } from '/@/components/Modal';
import { BasicForm, useForm } from '/@/components/Form/index';
import {
formSchema,
} from './index';
import { onMounted, ref } from 'vue';
const order = ref({});
onMounted(async () => {
});
const [registerModal, { closeModal }] = useModalInner(async (data) => {
try {
// 动态判断demo2 要不要必填
if (1 == 1) {
updateSchema([
{
field: 'demo2',
required: true,
},
]);
}
} catch (error) {
console.log(error);
}
});
const [registerForm, { validate, getFieldsValue, setFieldsValue, updateSchema }] = useForm({
labelWidth: 120,
baseColProps: { span: 24 },
schemas: formSchema,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
</script>
<style lang="scss" scoped></style>
index 文件
export const formSchema = [
{
dataIndex: "demo1",
title: "文本一",
},
{
dataIndex: "demo2",
title: "文本二",
},
];