您的位置:首页 > 健康 > 美食 > Vue3 el-table里input设置为必填

Vue3 el-table里input设置为必填

2025/3/17 13:57:27 来源:https://blog.csdn.net/weixin_44534057/article/details/141162086  浏览:    关键词:Vue3 el-table里input设置为必填

Vue3 el-table里input设置为必填

  • Vue3 el-table里input设置为必填
    • 页面效果
    • 实现代码

Vue3 el-table里input设置为必填

页面效果

在这里插入图片描述

实现代码

<template><el-form :model="tableData" ref="formRef"><el-table :data="tableData" style="width: 100%"><el-table-column prop="product_name" label="产品名称" width="400"></el-table-column><el-table-column prop="sku" label="SKU" min-width="120"></el-table-column><el-table-column prop="price" label="价格" width=""></el-table-column><el-table-column prop="quantity" label="数量" width=""></el-table-column><el-table-column label="确认数量"><template #default="{ row, $index }"><el-form-item :prop="'[' + $index + '].accepted_quantity'" :rules="rules.acceptNumber"><el-input v-model="row.accepted_quantity"></el-input></el-form-item></template></el-table-column></el-table><el-button type="primary" @click="submitConfirm">确认订单</el-button></el-form>
</template><script setup>
import { reactive, ref, unref, toRefs } from 'vue';
import { ElMessage } from 'element-plus';export default defineComponent({name: 'componentName',setup(prop, {emit}) {const formRef = ref<HTMLElement | null>(null);const state = reactive({tableData: [{"accepted_quantity": 0,"event": "","id": 39,"order_id": 40,"price": 200,"product_id": 5,"product_name": "product name of 3005BK","quantity": 1,"ship_time": null,"sku": "3005BK","tracking_number": ""}],rules: {acceptNumber: [{required: true, message: "确认数量不能为空", trigger: "blur"}],}});const submitConfirm = () => {const formWrap = unref(formRef) as any;if (!formWrap) return;formWrap.validate((valid: boolean) => {if (valid) {ElMessage.error('验证成功');} else {ElMessage.error('确认数量不能为空');return false;}});};return {formRef,submitConfirm,...toRefs(state),};},
});
</script>

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com