1/ 父頁面調用子頁面相關
? ? ?需要在父頁面引用?
<FieldUserForm ref="userFormRef" @success="handleUserFormSuccess" />
其中??FieldUserForm 是子頁面?
@success="handleUserFormSuccess" 是子頁面成功后回調方法 父頁面 實現 handleUserFormSuccess 方法
子頁面相關:
// 暴露方法給父組件
defineExpose({open
})
需要寫個方法暴露給父組件,子頁面實現 open 方法 相當于 初始加載類
2 子頁面完成任務后 調用子頁面 相關
// 定義 emit 事件
const emit = defineEmits(['success'])// 自己的子方法最后通知父組件刷新列表emit('success')
3/通過 路由傳值
<router-link :to="'/nongyeParcel/type/field/' + scope.row.id"><el-button link type="primary">條田管理</el-button></router-link>
子頁面接受參數?
onMounted(() => {// 修復:使用 route.params.dictType 而不是 route.params.idparcelId.value = Array.isArray(route.params.id)? (route.params.id[0] ?? ''): (route.params.id ?? '')console.log('parcelId.value', parcelId.value)getList()
})// 使用類型守衛處理賦值
watch(() => route.params.dictType,(newVal) => {// 使用類型守衛確保 parcelId 總是 string 類型parcelId.value = Array.isArray(newVal)? (newVal[0] ?? ''): (newVal ?? '')},{ immediate: true }
)