<!-- 系统对 Element Plus 启用自定义命名空间(el → ep),确保样式隔离与一致性 -->
<div class="custom-pageComponent-elementPlusExample">
:model="numberValidateForm"
{ required: true, message: '年龄不能为空' },
{ type: 'number', message: '年龄必须为数字值' }
v-model.number="numberValidateForm.age"
<ep-button type="primary" @click="submitForm()"
<ep-button @click="resetForm()">重置</ep-button>
import { reactive, ref } from 'vue'
import { EpMessage } from 'element-plus'
const props = defineProps({
// 环境变量,console管理平台 / runtime 运行PC/ mruntime 运行移动
// IDE中的event配置+setting配置
// 根据事件名调用组件自身配置的JS代码,Function({eventName: 'xxx'}) xxx为对应方法名
// 执行组件内的服务端函数,Function({name: 'xxx'}) xxx为函数名
// 获取数据过滤返回的数据, Function({paramsName: 'xxx'}) xxx为数据过滤属性的key
_executeDataFilterSetterAPI: {
_executeCommonEventsSetterAPI: {
_getComponentInstanceById: {
const numberValidateForm = reactive({
const formRef = ref(null)
const submitForm = async () => {
if (!formRef.value) return
const valid = await formRef.value.validate()
EpMessage.success('提交成功!')
console.log('error submit!!', error)
EpMessage.error('表单验证失败')
const resetForm = () => {
formRef.value.resetFields()
.custom-pageComponent-elementPlusExample{
// 自定义element-plus 按钮组件样式
.custom-pageComponent-elementPlusExample .ep-form-item {