| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import React from 'react'
- import { Row } from 'antd'
- import EditableFormItem from './editableFormItem'
- import { isNullOrUnDef } from '@/utils/is'
- const EditableForm = ({ dataSource, columns, type, tartgetUrl, editable }) => {
- const newColumns = columns.map(item => {
- const newItem = { ...item }
- // 控制col span
- if (isNullOrUnDef(item.span)) {
- newItem.span = 24
- }
- // 默认取用全局-editable
- if (!isNullOrUnDef(editable)) {
- newItem.editable = editable
- } else if (isNullOrUnDef(item.editable)) {
- // 采用布局-editable 默认为true
- newItem.editable = true
- }
- // 默认组件
- if (isNullOrUnDef(item.editCellType)) {
- newItem.editCellType = 'input'
- }
- return newItem
- })
- return (
- <Row>
- {newColumns.map(column => {
- return (
- <EditableFormItem
- type={type}
- key={column.dataIndex}
- label={column.label}
- dataSource={dataSource}
- editable={column.editable}
- disable={column.disable}
- dataIndex={column.dataIndex}
- span={column.span}
- editCellType={column.editCellType}
- customCell={column.customCell}
- requestUrl={tartgetUrl}
- />
- )
- })}
- </Row>
- )
- }
- export default EditableForm
|