{searchList.length !== 0 && ( <> <div style={{ fontSize: 15, color: '#9f9f9f', padding: '5px 6px' }}> 已查询到{searchList.length}条数据 </div> <div> <Checkbox.Group value={selectedList} onChange={()=>{console.log(1111);}}> <Space direction="vertical" style={{ width: '100%', backgroundColor: '#fff' }}> {searchList.map((item) => ( <Checkbox value={item.organizationId} key={item.organizationId}> <div style={{ marginLeft: 5 }}> <div className={styles.positionName}> {item.name} {mark === 'personnel' && item.positionName && <>({item.positionName})</>} </div> <div className={styles.orgName} style={{ display: mark === 'position' ? '' : 'none' }} > {item.organizationName} </div> </div> </Checkbox> ))} </Space> </Checkbox.Group> </div> </> )} 这是我写的一个公共组件,但是这个组件的onChange方法在一个tab页能执行,再另外一个tab页执行不了
时间: 2023-02-09 22:28:21 浏览: 98
I'm sorry, but the text you provided is incomplete and it is not clear what you are asking for. Could you please provide more context or clarify your question so that I can better assist you?
相关问题
在ftl模板引擎中 <#list data as saleData> <tr style="font-size: ${(saleData.team?contains('汇总') || saleData.team?contains('汇总'))?string('28px', '26px')}; color: ${(saleData.dailySalesAmount == 0)?string("#f3f3f3", '')}; background-color: ${(saleData.dailySalesAmount == 0)?string('#4472C4', '')} ${((saleData.dailySalesAmount > 0) && (saleData.dailySalesAmount < 10000))?string('#D9E1F2', '')} ${(saleData.saleArea=='CA部门' && saleData.dailySalesAmount>0 && saleData.dailySalesAmount<50000)?string('#D9E1F2', '')} ${(saleData.team?contains('汇总')?string('#f3f3f3', ''))}; font-weight: bold"> <td>${(saleData.team)!""}</td> <td>${(saleData.name)!""}</td> <td>${(saleData.tenDailySalesAmount)!""}</td> <td>${(saleData.twelveDailySalesAmount)!""}</td> <td>${(saleData.fifteenDailySalesAmount)!""}</td> <td>${(saleData.dailySalesAmount)!""}</td> <td>${(saleData.orderCount!"")}</td> </tr> </#list> 这个代码可以怎么优化
可以将一些重复判断条件的部分提取出来,减少代码重复和冗余,同时可以使用内置函数和变量简化代码:
```
<#list data as saleData>
<#assign isSummary = saleData.team?contains('汇总')>
<#assign salesAmount = saleData.dailySalesAmount>
<#assign bgColor = (salesAmount == 0)?string('#f3f3f3', '')>
<#assign fontColor = (salesAmount == 0)?'#4472C4' : ((salesAmount > 0) && (salesAmount < 10000))? '#D9E1F2' : (saleData.saleArea == 'CA部门' && salesAmount > 0 && salesAmount < 50000)? '#D9E1F2' : ''>
<#assign fontSize = isSummary?string('28px', '26px')>
<#assign fontWeight = isSummary?string('bold', '')>
<tr style="font-size: ${fontSize}; color: ${fontColor}; background-color: ${bgColor}; font-weight: ${fontWeight}">
<td>${saleData.team!""}</td>
<td>${saleData.name!""}</td>
<td>${saleData.tenDailySalesAmount!""}</td>
<td>${saleData.twelveDailySalesAmount!""}</td>
<td>${saleData.fifteenDailySalesAmount!""}</td>
<td>${saleData.dailySalesAmount!""}</td>
<td>${saleData.orderCount!""}</td>
</tr>
</#list>
```
在这里,我们使用了内置函数 `contains()` 来判断字符串是否包含某个子串,使用 `assign` 定义变量来避免重复计算。同时,我们使用了三目运算符 `?` 简化了代码,使得整个代码更加简洁易懂。
<StatisticCard.Group direction="row"> <StatisticCard statistic={{ title: '订单编号', value: detailData?.orderUuid || '-', groupSeparator: '' }} /> <StatisticCard.Divider type="vertical" /> <StatisticCard statistic={{ title: '下单时间', value: detailData?.createTime || '-' }} /> <StatisticCard.Divider type="vertical" /> <StatisticCard statistic={{ title: '订单状态', value: DDZT_ENUM?.[detailData?.orderStatus]?.text || '-', suffix: detailData?.orderType ? ( <span style={{ color: 'red', fontSize: 14 }}> ({DDLX_ENUM?.[detailData?.orderType]?.text}) </span> ) : null }} chart={ detailData?.orderStatus === '2' ? ( <Button style={{ marginTop: 10 }}>发货</Button> ) : detailData?.orderStatus === '3' ? ( <span style={{ fontSize: 13 }}>7天内不确认收货,系统自动收货</span> ) : null } chartPlacement="right" /> </StatisticCard.Group>解释代码,怎么修改样式为竖列,订单状态显示不同的图片根据状态
这段代码使用了 Ant Design 的 StatisticCard 组件,其中包含了三个 StatisticCard 组件,每个组件分别显示了订单编号、下单时间和订单状态等信息。这三个组件通过 StatisticCard.Group 组件进行了横向排列,同时使用了 StatisticCard.Divider 组件进行了分隔。
如果要修改样式为竖列,只需要将 StatisticCard.Group 的 direction 属性设置为 "column" 即可,如下所示:
```
<StatisticCard.Group direction="column">
...
</StatisticCard.Group>
```
如果要根据订单状态显示不同的图片,可以在 StatisticCard 的 value 属性中使用 JSX 语法,根据订单状态动态渲染不同的图片,例如:
```
<StatisticCard
statistic={{
title: '订单状态',
value: (
<>
{detailData?.orderStatus === '1' && <img src="待付款图片" />}
{detailData?.orderStatus === '2' && <img src="待发货图片" />}
{detailData?.orderStatus === '3' && <img src="待收货图片" />}
{detailData?.orderStatus === '4' && <img src="已完成图片" />}
</>
),
suffix: detailData?.orderType ? (
<span style={{ color: 'red', fontSize: 14 }}>
({DDLX_ENUM?.[detailData?.orderType]?.text})
</span>
) : null
}}
chart={
detailData?.orderStatus === '2' ? (
<Button style={{ marginTop: 10 }}>发货</Button>
) : detailData?.orderStatus === '3' ? (
<span style={{ fontSize: 13 }}>7天内不确认收货,系统自动收货</span>
) : null
}
chartPlacement="right"
/>
```
在 value 属性中,使用了一个 React.Fragment 来包裹多个图片,并根据订单状态动态渲染对应的图片。同时,suffix 属性的用法和之前保持一致,不受影响。
阅读全文