描述:picker不可以选择其他选项选择过的年份(例如资产原值yearArr)
解决思路:为每一个年份的选项设置可以选择的年份列表(yearArr[index])
//渲染的时候
<Picker
extra={edit ? '请选择年份' : ' '}
data={allEquipmentYearData[idx]}
cols={1}
value={[arrItem.year]}
onOk={e=>{onPickerChange('equipmentAmountJson',idx,e)}}
disabled={!edit}
>
//对需要渲染的数据进行处理
function transData(){
if (fixedNetJson?.length > 0) {
let addYearList = []
//先获取页面上已经选择过的年份列表
let fixedNetJsonYearList = fixedNetJson.map(res => res.year)
fixedNetJson.forEach((resItem,index) => {
let data = []
for(let i = 1949; i < upYear; i++) {
//设置每个选项可以选择的年份
// = 剔除所有选中的年份+自己的年份
if (!fixedNetJsonYearList.includes(i) || resItem.year == i) {
data.push({ label:i, value:i })
}
}
addYearList[index] = data
})
setAllFixedNetYearData(addYearList)
}
}
function setAllFixedNetYearData(addYearList){
fixedNetJson = addYearList
}