form.vue 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <script setup lang="ts">
  2. import { ref } from "vue";
  3. import { formRules } from "./utils/rule";
  4. import { FormProps } from "./utils/types";
  5. const props = withDefaults(defineProps<FormProps>(), {
  6. formInline: () => ({
  7. name: "",
  8. code: "",
  9. remark: ""
  10. })
  11. });
  12. const ruleFormRef = ref();
  13. const newFormInline = ref(props.formInline);
  14. function getRef() {
  15. return ruleFormRef.value;
  16. }
  17. defineExpose({ getRef });
  18. </script>
  19. <template>
  20. <el-form
  21. ref="ruleFormRef"
  22. :model="newFormInline"
  23. :rules="formRules"
  24. label-width="82px"
  25. >
  26. <el-form-item label="角色名称" prop="name">
  27. <el-input
  28. v-model="newFormInline.name"
  29. clearable
  30. placeholder="请输入角色名称"
  31. />
  32. </el-form-item>
  33. <el-form-item label="角色标识" prop="code">
  34. <el-input
  35. v-model="newFormInline.code"
  36. clearable
  37. placeholder="请输入角色标识"
  38. />
  39. </el-form-item>
  40. <el-form-item label="备注">
  41. <el-input
  42. v-model="newFormInline.remark"
  43. placeholder="请输入备注信息"
  44. type="textarea"
  45. />
  46. </el-form-item>
  47. </el-form>
  48. </template>