react 循环数组,以及二维数组

<Form.List

name="lxrs"

initialValue={[

{

djbmId: null,

lxrMc: '',

lxdh: '',

},

]}

rules={[

{

validator: (_, value: string[]) => {

if (value && value.length > 0) {

return Promise.resolve()

}

return Promise.reject(new Error('请至少填写一个爱好'))

},

},

]}

>

{(fields, { add, remove }) => {

// console.log(fields)

return (

<div>

{fields.map(field => (

<Row key={field.key}>

<Col span={6}>

<Form.Item

{...field}

name={[field.name, 'djbmId']}

label="对接部门"

rules={[{ required: true, message: '请选择对接部门' }]}

>

<TreeSelect

showSearch

style={{ width: '100%' }}

dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}

placeholder="请选择对接部门"

allowClear

onChange={() => {}}

treeData={djbTree}

/>

</Form.Item>

{/* <ProFormTreeSelect

{...field}

name={[field.name, 'djbmId']}

label="对接部门"

treeData={djbTree}

placeholder="请选择对接部门"

rules={[{ required: true, message: '请选择对接部门' }]}

style={{ width: '300' }}

treeCheckable

/> */}

</Col>

<Col span={5} offset={1}>

<ProFormText

name={[field.name, 'lxrMc']}

label="联系人"

placeholder="请输入承运商名称"

rules={[

{ required: true, message: '请输入承运商名称' },

]}

/>

</Col>

<Col span={5} offset={1}>

<ProFormText

name={[field.name, 'lxdh']}

label="联系电话"

placeholder="请输入联系电话"

rules={[{ required: true, message: '请输入联系电话' }]}

/>

</Col>

<Col span={5} offset={1}>

<Button type="link" onClick={() => add()}>

新增

</Button>

<Button

type="link"

onClick={() => {

console.log(fields, 'fields')

if (fields.length <= 1) {

return

}

remove(field.name)

}}

>

删除

</Button>

</Col>

</Row>

))}

</div>

)

}}

</Form.List>

将需要循环的部分使用Form.list进行包裹,使用{(fields, { add, remove }) => { 包裹循环体,使用field.map循环每一个需要动态增删的部分,新增跟删除按钮处的写法为固定写法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值