1
0
mirror of https://github.com/ialley-workshop-open/uni-halo.git synced 2026-09-13 00:50:40 +08:00
Files
uni-halo/.agents/skills/uview-pro-vue3/examples/components/form.md
T
2026-08-31 07:58:23 +08:00

2.0 KiB

Form Component

官方文档: https://uviewpro.cn

Instructions

This example demonstrates the Form component in uView Pro.

Key Concepts

  • Form structure
  • Form validation
  • Form rules
  • Form submission
  • Form fields

Example: Basic Form

<template>
  <u-form :model="form" label-width="120">
    <u-form-item label="Name" prop="name">
      <u-input v-model="form.name" />
    </u-form-item>
    <u-form-item label="Email" prop="email">
      <u-input v-model="form.email" />
    </u-form-item>
    <u-form-item>
      <u-button type="primary" @click="handleSubmit">Submit</u-button>
    </u-form-item>
  </u-form>
</template>

<script setup>
import { ref } from 'vue'

const form = ref({
  name: '',
  email: ''
})

const handleSubmit = () => {
  console.log('Form:', form.value)
}
</script>

Example: Form Validation

<template>
  <u-form
    ref="formRef"
    :model="form"
    :rules="rules"
    label-width="120"
  >
    <u-form-item label="Name" prop="name">
      <u-input v-model="form.name" />
    </u-form-item>
    <u-form-item label="Email" prop="email">
      <u-input v-model="form.email" />
    </u-form-item>
    <u-form-item>
      <u-button type="primary" @click="handleSubmit">Submit</u-button>
    </u-form-item>
  </u-form>
</template>

<script setup>
import { ref } from 'vue'

const formRef = ref()
const form = ref({
  name: '',
  email: ''
})

const rules = {
  name: [
    { required: true, message: 'Please input name', trigger: 'blur' }
  ],
  email: [
    { required: true, message: 'Please input email', trigger: 'blur' },
    { type: 'email', message: 'Please input valid email', trigger: 'blur' }
  ]
}

const handleSubmit = async () => {
  await formRef.value.validate((valid) => {
    if (valid) {
      console.log('Form valid:', form.value)
    }
  })
}
</script>

Key Points

  • Use :model for form data
  • Configure :rules for validation
  • Use prop for form-item validation
  • Handle form submission
  • Support form validation methods