<template>
  <el-form ref='orderForm' :model='order' :rules='rules' label-width='100px'>
    <el-form-item label='订单号' prop='orderNo'>
      <el-input v-model='order.orderNo'></el-input>
    </el-form-item>
    <el-form-item label='商品名称' prop='productName'>
      <el-input v-model='order.productName'></el-input>
    </el-form-item>
    <el-form-item label='商品数量' prop='productQuantity'>
      <el-input v-model='order.productQuantity' type='number'></el-input>
    </el-form-item>
    <el-form-item label='收货地址' prop='address'>
      <el-input v-model='order.address'></el-input>
    </el-form-item>
    <el-form-item label='联系电话' prop='phone'>
      <el-input v-model='order.phone'></el-input>
    </el-form-item>
    <el-form-item>
      <el-button type='primary' @click='submitForm'>提交订单</el-button>
      <el-button @click='resetForm'>重置表单</el-button>
    </el-form-item>
  </el-form>
</template>

<script setup>
import { reactive, ref } from 'vue'
import { ElForm, ElFormItem, ElInput, ElButton } from 'element-plus'

const order = reactive({
  orderNo: '',
  productName: '',
  productQuantity: '',
  address: '',
  phone: ''
})

const orderForm = ref(null)

const rules = {
  orderNo: [
    { required: true, message: '请输入订单号', trigger: 'blur' }
  ],
  productName: [
    { required: true, message: '请输入商品名称', trigger: 'blur' }
  ],
  productQuantity: [
    { required: true, message: '请输入商品数量', trigger: 'blur' }
  ],
  address: [
    { required: true, message: '请输入收货地址', trigger: 'blur' }
  ],
  phone: [
    { required: true, message: '请输入联系电话', trigger: 'blur' }
  ]
}

const submitForm = () => {
  orderForm.value.validate((valid) => {
    if (valid) {
      console.log('表单验证通过')
    } else {
      console.log('表单验证失败')
      return false
    }
  })
}

const resetForm = () => {
  orderForm.value.resetFields()
}

</script>

<style>
</style>
Vue3 Element Plus 订单表单生成代码示例

原文地址: https://www.cveoy.top/t/topic/mzTg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录