fix table重新渲染会修改props
This commit is contained in:
@@ -238,7 +238,8 @@ const findFinalNode = (level: number, columns: any[]) => {
|
||||
|
||||
findFinalNode(0, tableColumns.value);
|
||||
|
||||
const tableSelectedKeys = ref<Recordable[]>([...props.selectedKeys]);
|
||||
// 你浅拷贝他干什么呀
|
||||
const tableSelectedKeys = ref<Recordable[]>(props.selectedKeys);
|
||||
const tableExpandKeys = ref<Recordable[]>([...props.expandKeys]);
|
||||
|
||||
watch(
|
||||
@@ -313,7 +314,10 @@ watch(
|
||||
} else {
|
||||
hasChecked.value = false;
|
||||
}
|
||||
emit("update:selectedKeys", tableSelectedKeys.value);
|
||||
if(tableSelectedKeys.value != props.selectedKeys){
|
||||
console.log("初始化赋值触发修改",tableSelectedKeys.value,props.selectedKeys)
|
||||
emit("update:selectedKeys", tableSelectedKeys.value);
|
||||
}
|
||||
},
|
||||
{ deep: true, immediate: true }
|
||||
);
|
||||
|
||||
@@ -101,6 +101,9 @@ function handleTitleClick(node: TreeData) {
|
||||
if (!node.isDisabled) {
|
||||
emit("node-click", node);
|
||||
}
|
||||
if(props.showCheckbox){
|
||||
node.isChecked = !node.isChecked
|
||||
}
|
||||
}
|
||||
|
||||
function handleRowClick(node: TreeData) {
|
||||
@@ -182,7 +185,7 @@ const isChildAllSelected = computed(() => {
|
||||
:class="{
|
||||
'layui-tree-txt': true,
|
||||
'layui-disabled': node.isDisabled,
|
||||
'layui-this': selectedKey === node.id,
|
||||
'layui-this': selectedKey === node.id || node.isChecked,
|
||||
}"
|
||||
@click.stop="handleTitleClick(node)"
|
||||
>
|
||||
|
||||
@@ -103,9 +103,13 @@ watch(
|
||||
watch(
|
||||
() => props.checkedKeys,
|
||||
() => {
|
||||
console.log(tree.value)
|
||||
if (!unWatch.value) {
|
||||
loadNodeList();
|
||||
}
|
||||
},
|
||||
{
|
||||
deep: true
|
||||
}
|
||||
);
|
||||
|
||||
@@ -116,9 +120,9 @@ watch(
|
||||
const { checkedKeys } = tree.value.getKeys();
|
||||
unWatch.value = true;
|
||||
emit("update:checkedKeys", checkedKeys);
|
||||
setTimeout(() => {
|
||||
nextTick(() => {
|
||||
unWatch.value = false;
|
||||
}, 0);
|
||||
});
|
||||
}
|
||||
},
|
||||
{ deep: true }
|
||||
|
||||
Reference in New Issue
Block a user