|
|
|
|
@ -74,24 +74,27 @@ const checkedRealKeys = ref<(number | string)[]>([]);
|
|
|
|
|
* 取第一次的menuTree id 设置到checkedMenuKeys
|
|
|
|
|
* 主要为了解决没有任何修改 直接点击保存的情况
|
|
|
|
|
*/
|
|
|
|
|
const stop = watch(
|
|
|
|
|
() => props.treeData,
|
|
|
|
|
() => {
|
|
|
|
|
/** 节点关联情况下是不带父节点的 */
|
|
|
|
|
if (props.checkStrictly) {
|
|
|
|
|
/** 找到父节点 添加上 */
|
|
|
|
|
const parentIds = findGroupParentIds(
|
|
|
|
|
props.treeData,
|
|
|
|
|
checkedKeys.value as any,
|
|
|
|
|
);
|
|
|
|
|
checkedRealKeys.value = [...parentIds, ...checkedKeys.value];
|
|
|
|
|
} else {
|
|
|
|
|
/** 节点独立 这里是全部的节点 */
|
|
|
|
|
checkedRealKeys.value = checkedKeys.value;
|
|
|
|
|
}
|
|
|
|
|
const stop = watch([checkedKeys, () => props.treeData], () => {
|
|
|
|
|
if (
|
|
|
|
|
props.checkStrictly &&
|
|
|
|
|
checkedKeys.value.length > 0 &&
|
|
|
|
|
props.treeData.length > 0
|
|
|
|
|
) {
|
|
|
|
|
/** 找到父节点 添加上 */
|
|
|
|
|
const parentIds = findGroupParentIds(
|
|
|
|
|
props.treeData,
|
|
|
|
|
checkedKeys.value as any,
|
|
|
|
|
{ id: props.fieldNames.key },
|
|
|
|
|
);
|
|
|
|
|
checkedRealKeys.value = [...parentIds, ...checkedKeys.value];
|
|
|
|
|
stop();
|
|
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
if (!props.checkStrictly && checkedKeys.value.length > 0) {
|
|
|
|
|
/** 节点独立 这里是全部的节点 */
|
|
|
|
|
checkedRealKeys.value = checkedKeys.value;
|
|
|
|
|
stop();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
|