zoukankan      html  css  js  c++  java
  • ant-design-pro 的EditableProTable表格验证调用

    博客源码https://github.com/shengbid/antdpro-demo,有需要可以下载下来看效果
     
    EditableProTable默认是在单行保存时调用表单验证
     
    我这里的需求是点击外部的保存要对整个表单进行验证

    EditableProTable提供了editable属性,可以设置form
    https://procomponents.ant.design/components/editable-table
     
    代码
    import React, { useState, useEffect } from 'react'
    import { Row, Col, Button, Form, message } from 'antd'
    import { EditableProTable } from '@ant-design/pro-table'
    
    const EditZTTable: React.FC = () => {
      const [editableKeys, setEditableRowKeys] = useState<React.Key[]>([])
      const [dataSource, setDataSource] = useState<projectRiskProps[]>([])
      const [editForm] = Form.useForm()
    
      // 提交方法
      const onSave = async () => {
        await editForm.validateFields() // 调用表单验证
      }
    
      return (
        <>
          <EditableProTable
            columns={columns}
            rowKey="id"
            value={dataSource}
            recordCreatorProps={{
              newRecordType: 'dataSource',
              record: () => ({
                id: Date.now(),
              }),
            }}
            editable={{
              type: 'multiple',
              form: editForm,
              editableKeys,
              actionRender: (row, config, defaultDoms) => {
                return [defaultDoms.delete]
              },
              onValuesChange: (record, recordList) => {
                setDataSource(recordList)
              },
              onChange: (editableKeyss, editableRows: projectRiskProps[]) => {
                setEditableRowKeys(editableKeyss)
                setDataSource(editableRows)
              },
            }}
          />
          <Row>
            <Col span={24} style={{ textAlign: 'right' }}>
              <Button style={{ margin: '15px 8px 0' }} onClick={onCancel}>取消</Button>
              <Button type="primary" onClick={onSave}>保存</Button>
            </Col>
          </Row>
        </>
      )
    }
    export default EditZTTable
  • 相关阅读:
    CF 461B Appleman and Tree
    POJ 1821 Fence
    NOIP 2012 开车旅行
    CF 494B Obsessive String
    BZOJ2337 XOR和路径
    CF 24D Broken robot
    POJ 1952 BUY LOW, BUY LOWER
    SPOJ NAPTIME Naptime
    POJ 3585
    CF 453B Little Pony and Harmony Chest
  • 原文地址:https://www.cnblogs.com/steamed-twisted-roll/p/14694593.html
Copyright © 2011-2022 走看看