javascript - 如何修复第二次选择时的延迟显示数据
问题描述
const [secDept, setSecuDept] = useState([{ code: null, dept: null }]);
const [department, setDepartment] = useState([]);
useEffect(() => {
const _data = Array.isArray(control.defaultValuesRef.current.section)
? control.defaultValuesRef.current.section
: [{ code: null, dept: null }];
setSecDept(
_data.map((item) => {
return { code: item.code, dept: item.dept };
})
);
}, []);
return (
<div className='flex flex-col w-full'>
{secDept.map((item, index) => (
<div key={index} className='flex flex-col pb-2 items-center'>
<div className='flex pb-2 w-full'>
<SelectPicker
placeholder='Select Section'
data={section['data']}
labelKey='name'
valueKey='code'
className='w-1/2'
cleanable={false}
disabledItemValues={secDept.map((x) => x.code)}
onChange={(value) => {
control.setValue('section', _setSecDept(value, index, 'code'));
const ID = section['data']
.filter((sec) => sec.code === value)
.map((x) => x.id)[0];
(function fetch() {
useDepartments.getAll({ room: ID }).then((response) => {
department[`dept-${index}`] = response['data']['data'];
setDepartment(department);
});
})();
console.log(department);
}}
/>
<SelectPicker
placeholder='Select Department'
data={department?.[`dept-${index}`]}
labelKey='name'
valueKey='code'
className='w-1/2'
cleanable={false}
/>
</div>
</div>
))}
</div>
);
选择房间时如何解决延迟?
当我尝试选择房间时,它不显示部门的数据,例如,我选择Room 1
哪个部门,而不是当我尝试检查部门选择的列表时,它不显示数据,但是当我尝试选择时其他没有部门的房间会在部门选择中显示部门。
解决方案
推荐阅读
- unity3d - 无法载入配置文件
- react-styleguidist - 如何使用 vue-styleguidist 格式化我的代码示例?
- ffmpeg - FFMPEG:无法在 Parsed_adelay_9 上配置输入板
- python-3.x - 如何将包含部分json字符串的文本日志转换为pyspark中的结构化?
- nlp - Spacy 束搜索内存泄漏?
- laravel - 不使用 Laravel Eloquent 模型更新
- docker - 为什么 ping 到 docker 容器会返回“请求超时”?
- mysql - WSO2 分析:连接到表“ApiUserPerAppAgg_MONTHS”时出错
- react-redux-firebase - 使用 firestore 时,Object(...) 不是 index.js 上的函数,它给了我错误
- powershell - PowerShell - 查找具有特定 AD 属性的 AD 用户