Acro desgin
<template>
<a-form
ref="formRef"
:size="form.size"
:model="form"
:style="{ width: '600px' }"
@submit="handleSubmit"
>
<a-form-item
field="name"
label="Username"
:rules="[
{ required: true, message: 'name is required' },
{ message: 'must be greater than 5 characters' },
]"
>
<a-input
v-model="form.name"
placeholder="please enter your username..."
/>
</a-form-item>
<a-form-item
field="msg"
label="msg"
>
<a-input
v-model="form.msg"
placeholder="please enter your username..."
/>
</a-form-item>
<a-form-item>
<a-space>
<a-button html-type="submit">Submit</a-button>
<a-button @click="$refs.formRef.resetFields()">Reset</a-button>
</a-space>
</a-form-item>
</a-form>
</template>
<script>
import { reactive } from 'vue';
export default {
setup() {
const handleSubmit = ({ values, errors }) => {
console.log('values:', values, '\nerrors:', errors);
};
const form = reactive({
name: '',
msg:''
});
return {
form,
handleSubmit,
};
},
};
</script>
Vue3 Element Plus
<template>
<el-form
ref="ruleFormRef"
style="max-width: 600px"
:model="ruleForm"
:rules="rules"
label-width="auto"
class="demo-ruleForm"
:size="formSize"
status-icon
>
<el-form-item label="Activity name" prop="name">
<el-input v-model="ruleForm.name" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm(ruleFormRef)">
确定
</el-button>
<el-button @click="resetForm(ruleFormRef)">重置</el-button>
</el-form-item>
</el-form>
</template>
<script lang="ts" setup>
import { reactive, ref } from 'vue'
import type { ComponentSize, FormInstance, FormRules } from 'element-plus'
interface RuleForm {
name: string
}
const formSize = ref<ComponentSize>('default')
const ruleFormRef = ref<FormInstance>()
const ruleForm = reactive<RuleForm>({
name: '',
})
const rules = reactive<FormRules<RuleForm>>({
name: [
{ required: true, message: 'Please input Activity name', trigger: 'blur' },
]
})
const submitForm = async (formEl: FormInstance | undefined) => {
if (!formEl) return
await formEl.validate((valid, fields) => {
if (valid) {
console.log('submit!')
} else {
console.log('error submit!', fields)
}
})
}
const resetForm = (formEl: FormInstance | undefined) => {
if (!formEl) return
formEl.resetFields()
}
</script>