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

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

parent 17ce61d4
...@@ -94,6 +94,7 @@ const DeviceTree = (props) => { ...@@ -94,6 +94,7 @@ const DeviceTree = (props) => {
direction = '', direction = '',
classField = '', classField = '',
customerName = '', customerName = '',
defaultCheckedKeys
} = props; } = props;
const deviceArr = deviceTypes ? deviceTypes.split(',') : []; const deviceArr = deviceTypes ? deviceTypes.split(',') : [];
const { getPrefixCls } = useContext(ConfigProvider.ConfigContext); const { getPrefixCls } = useContext(ConfigProvider.ConfigContext);
...@@ -200,12 +201,29 @@ const DeviceTree = (props) => { ...@@ -200,12 +201,29 @@ const DeviceTree = (props) => {
// 是否需要默认选中 // 是否需要默认选中
if (pageIndex === 1 && (keepChecked && !checkedKeys.length)) { if (pageIndex === 1 && (keepChecked && !checkedKeys.length)) {
setCheckedKeys(newData.length > 0 ? [newData[0].code] : []); let code = newData.length > 0 ? [newData[0].code] : []
onCheck?.(newData.length > 0 ? [newData[0]] : []); 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相关数据 // 仅单选时使用select相关数据
!checkable && onSelect?.(newData.length > 0 ? [newData[0]] : []); !checkable && onSelect?.(arr);
!checkable && setSelectedKeys(newData.length > 0 ? [newData[0].code] : []); !checkable && setSelectedKeys(code);
singleType && (dataRef.current.currentType = newData[0].deviceType); singleType && (dataRef.current.currentType = newData[0].deviceType);
} }
...@@ -345,6 +363,7 @@ DeviceTree.defaultProps = { ...@@ -345,6 +363,7 @@ DeviceTree.defaultProps = {
selectable: false, selectable: false,
checkable: false, checkable: false,
keepChecked: false, keepChecked: false,
defaultCheckedKeys:[],
onSelect: () => {}, onSelect: () => {},
onCheck: () => {}, onCheck: () => {},
setDeviceList: () => {}, setDeviceList: () => {},
...@@ -364,6 +383,7 @@ DeviceTree.propTypes = { ...@@ -364,6 +383,7 @@ DeviceTree.propTypes = {
keepChecked: PropTypes.bool, keepChecked: PropTypes.bool,
onSelect: PropTypes.func, onSelect: PropTypes.func,
onCheck: PropTypes.func, onCheck: PropTypes.func,
defaultCheckedKeys: PropTypes.array,
setDeviceList: PropTypes.func, setDeviceList: PropTypes.func,
setSearchStr: PropTypes.func, setSearchStr: PropTypes.func,
filterName: PropTypes.string, // 筛选字段,只有一个设备类型时有效 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