Skip to content

如何设置表单默认值?

通过 value 字段直接设置默认值

这种方法最为简单直接,只需要在表单规则中为 value 字段赋值即可。

vue
<template>
   <form-create :rule="formRule" />
</template>
<script setup>
import { ref } from 'vue';
const formRule = ref([
  {
    type: 'input',
    field: 'username',
    title: '用户名',
    value: '默认用户名' // 设置默认值
  },
  {
    type: 'input',
    field: 'email',
    title: '邮箱',
    value: 'example@example.com' // 设置默认值
  }
]);
</script>

通过 v-model 绑定表单数据对象

使用 v-model 绑定一个数据对象,并在对象中设置默认值。这样不仅可以设置初始值,还可以随时更新表单数据。

vue
<template>
   <form-create :rule="formRule" v-model="formData" />
</template>
<script setup>
import { ref } from 'vue';
const formData = ref({
  username: '默认用户名',
  email: 'example@example.com'
});
const formRule = ref([
  {
    type: 'input',
    field: 'username',
    title: '用户名',
  },
  {
    type: 'input',
    field: 'email',
    title: '邮箱',
  }
]);
</script>

在表单加载后动态设置默认值

有时需要在表单加载后根据某些逻辑动态设置默认值,这时可以使用 formApi.setValue 方法。

js
<template>
   <form-create :rule="formRule" v-model:api="formApi" />
</template>
<script setup>
import { ref, onMounted } from 'vue';


const formApi = ref(null);


const formRule = ref([
  {
    type: 'input',
    field: 'username',
    title: '用户名'
  },
  {
    type: 'input',
    field: 'email',
    title: '邮箱'
  }
]);


onMounted(() => {
  // 动态设置默认值
  formApi.value.setValue('username', '动态默认用户名');
  formApi.value.setValue('email', 'dynamic@example.com');
});
</script>

FormCreate 是一个开源项目,基于 MIT 许可证发布,欢迎个人和企业用户免费使用