Commit 3cd06088 authored by 周宏民's avatar 周宏民

pref: 设备树添加 默认选择设备

parent 17ce61d4
......@@ -94,6 +94,7 @@ const DeviceTree = (props) => {
direction = '',
classField = '',
customerName = '',
defaultCheckedKeys
} = props;
const deviceArr = deviceTypes ? deviceTypes.split(',') : [];
const { getPrefixCls } = useContext(ConfigProvider.ConfigContext);
......@@ -200,12 +201,29 @@ const DeviceTree = (props) => {
// 是否需要默认选中
if (pageIndex === 1 && (keepChecked && !checkedKeys.length)) {
setCheckedKeys(newData.length > 0 ? [newData[0].code] : []);
onCheck?.(newData.length > 0 ? [newData[0]] : []);
let code = newData.length > 0 ? [newData[0].code] : []
let arr = newData.length > 0 ? [newData[0]] : []
if(defaultCheckedKeys && defaultCheckedKeys.length > 0) {
code = defaultCheckedKeys;
arr = []
function getArr(list) {
if(Array.isArray(list)) {
list.forEach((item) => {
if(defaultCheckedKeys.includes(item.code)) {
arr.push(item);
}
getArr(item.children);
});
}
}
getArr(newData)
}
setCheckedKeys(code);
onCheck?.(arr);
// 仅单选时使用select相关数据
!checkable && onSelect?.(newData.length > 0 ? [newData[0]] : []);
!checkable && setSelectedKeys(newData.length > 0 ? [newData[0].code] : []);
!checkable && onSelect?.(arr);
!checkable && setSelectedKeys(code);
singleType && (dataRef.current.currentType = newData[0].deviceType);
}
......@@ -345,6 +363,7 @@ DeviceTree.defaultProps = {
selectable: false,
checkable: false,
keepChecked: false,
defaultCheckedKeys:[],
onSelect: () => {},
onCheck: () => {},
setDeviceList: () => {},
......@@ -364,6 +383,7 @@ DeviceTree.propTypes = {
keepChecked: PropTypes.bool,
onSelect: PropTypes.func,
onCheck: PropTypes.func,
defaultCheckedKeys: PropTypes.array,
setDeviceList: PropTypes.func,
setSearchStr: PropTypes.func,
filterName: PropTypes.string, // 筛选字段,只有一个设备类型时有效
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment