欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > Vue3+ElementUI中的Table组件的使用

Vue3+ElementUI中的Table组件的使用

2024/11/30 15:37:33 来源:https://blog.csdn.net/tiandaochouqin_1/article/details/141225521  浏览:    关键词:Vue3+ElementUI中的Table组件的使用

Vue3+ElementUI中的Table组件的使用

    • 校验
      • 表格内多个输入框校验
    • 表格滚动到底部

校验

表格内多个输入框校验

  1. 注意prop如何写。
  2. 实现:一旦输入框内部有更改,清空校验;
  3. 实现:自定义校验错误提示信息样式;
  4. 实现:在校验中获取该行数据;
<template><el-table :data="inputTableData" max-height="286"><el-table-column type="index" label="#" align="center" width="80" /><el-table-column prop="name" label="产品名称" align="center" width="180"><template #default="scope"><el-form-item :prop="`${scope.$index}.name`" :rules="inputTableRules(scope.row).name"><el-input type="text" v-model="scope.row.name" @input="clearValidateStatus(scope.$index, 0)"></el-input><template v-slot:error="{ error }"><el-tooltip effect="light" :content="error" placement="top"><el-icon class="custom-error-tip"><WarningFilled /></el-icon></el-tooltip></template></el-form-item></template></el-table-column><el-table-column prop="price" label="price" align="center"><template #default="scope"><el-form-item :prop="`${scope.$index}.price`" :rules="inputTableRules(scope.row).price"><el-input type="text" v-model="scope.row.L" @input="clearValidateStatus(scope.$index, 1)"></el-input><template v-slot:error="{ error }"><el-tooltip effect="light" :content="error" placement="top"><el-icon class="custom-error-tip"><WarningFilled /></el-icon></el-tooltip></template></el-form-item></template></el-table-column></el-table>
</template><script lang="ts" setup>
const inputTableRules = (row) => {return {name: [{ validator: validateInputTableName, rowData: row, trigger: [] }],L: [{ validator: validateNumber, rowData: row, trigger: [] }],A: [{ validator: validateNumber, rowData: row, trigger: [] }],B: [{ validator: validateNumber, rowData: row, trigger: [] }]}
}const clearValidateStatus = (rowIndex, columnIndex) => {let columnLength = 4;let itemIndex = rowIndex * columnLength + columnIndexinputTableRuleFormRef.value.fields[itemIndex].clearValidate();
}
</script>

表格滚动到底部

// 表格滚动到底部
export const tableScrollToBottom = (tableRef) => {if (tableRef) {let maxHeight = tableRef.layout.table.refs.bodyWrapper.firstElementChild.firstElementChild.firstElementChild.clientHeight;tableRef.setScrollTop(maxHeight);}
}

版权声明:

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

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