父组件 调用 子组件
父组件:
<v-expand-option-dialog ref="expandOptionRef" />
-----
const expandOptionRef = ref();
expandOptionRef.value.showOptionDialog(projectId, newArr.value);
子组件:
// 将子组件的方法暴露出去
defineExpose({
showOptionDialog,
});
function showOptionDialog(projectID: number, options: Array) {
projectId.value = projectID;
optionList.value = options;
}
子组件 调用 父组件
父组件:
<TreeItem
v-for="item in treeData"
:key="item.id"
:item-data="item"
@select-tree-item="selectTreeItemAction"
@select-expand-option="selectExpandOptionAction"
/>
----
function selectTreeItemAction(params: any) {
console.log("点击project,传到父组件", params);
}
子组件:
<div @click="selectTreeItemMethod" />
// 选中/取消选中 某个project,触发父组件方法
const emit = defineEmits(["selectTreeItem"]);
function selectTreeItemMethod(project: any) {
emit("selectTreeItem", project);
}
网友评论