在vue3 ts element-plus项目中,点击按钮,将表单所填的值作为参数调用保存接口,脚本格式为 <script lang="ts" setup> 举例说明
时间: 2024-03-05 17:48:30 浏览: 106
好的,以下是一个简单的示例代码:
```html
<template>
<el-form ref="form" :model="formData" label-width="80px">
<el-form-item label="姓名">
<el-input v-model="formData.name"></el-input>
</el-form-item>
<el-form-item label="年龄">
<el-input v-model.number="formData.age"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleSave">保存</el-button>
</el-form-item>
</el-form>
</template>
<script lang="ts" setup>
import { ref } from 'vue';
import { ElForm } from 'element-plus';
interface FormData {
name: string;
age: number;
}
const formData = ref<FormData>({
name: '',
age: 0,
});
const formRef = ref<ElForm>();
function handleSave() {
if (formRef.value?.validate()) {
// 表单校验通过,调用保存接口
console.log('保存:', formData.value);
}
}
</script>
```
在这个示例中,我们用了 `ref` 来声明了一个 `formData`,它是一个 `FormData` 类型的对象,包含了表单中的所有字段。我们还用了 `ref` 来声明了一个 `formRef`,它是一个 `ElForm` 类型的对象,用于操作表单。
在模板中,我们使用了 `v-model` 指令将表单中的输入框和 `formData` 中的字段进行了双向绑定。当用户点击保存按钮时,我们调用 `handleSave` 函数。在这个函数中,我们首先调用了表单的 `validate` 方法进行表单校验,如果校验通过,就将表单数据作为参数调用保存接口。在这个示例中,我们只是简单地将表单数据打印出来。
阅读全文