在使用 Vue.js 中的 El-Tree 组件时,可能需要根据查询结果动态更新 deptList 以控制树节点的选中状态。本文将介绍如何使用 getRoleForm 查询结果更新 deptList,并解决赋值过程中出现的错误。

**代码示例:**

<el-tree ref="deptTreeRef" :data="deptTreeData" show-checkbox default-expand-all
                                :default-checked-keys="deptList" node-key="deptId" highlight-current
                                :props="defaultDeptProps" :check-strictly="true" />

function openDialog(roleId?: string) {
    dialog.visible = true;
    handleQuerydd(roleId);//查询启用部门表
    if (roleId) {
        dialog.title = '修改角色';
        getRoleForm({ id: roleId }).then(({ data }) => {  //查询get by id
            Object.assign(formData, data);  ///表单
            deptList.value = data.rows.split(',');
            console.log('3、把本行当前值deptList 先给deptList赋值,再 显示到树上?', data);
        });
    } else {
        dialog.title = '新增角色';
    }  
}

根据您提供的代码和数据,问题可能出在`deptList`的类型上。`deptList`的类型应该是一个数组,而不是一个对象。您可以尝试将`deptList`定义为一个空数组,然后在查询结果中使用`push`方法将数据添加到`deptList`中。

**示例代码:**

// 组件中定义deptList
const deptList = ref([]);

function openDialog(roleId?: string) {
    dialog.visible = true;
    handleQuerydd(roleId);//查询启用部门表
    if (roleId) {
        dialog.title = '修改角色';
        getRoleForm({ id: roleId }).then(({ data }) => {  //查询get by id
            Object.assign(formData, data);  ///表单
            deptList.value = data.rows.split(',');
            console.log('3、把本行当前值deptList 先给deptList赋值,再 显示到树上?', data);
        });
    } else {
        dialog.title = '新增角色';
    }  
}

请注意,上述代码假设`deptList`是一个`ref`对象。如果`deptList`不是一个`ref`对象,请将`.value`删除。另外,请确保`deptList`已经在组件中正确地初始化。如果问题仍然存在,请提供更多关于错误信息的详细信息,以便我们更好地帮助您解决问题。

Vue.js El-Tree 组件赋值问题:使用 getRoleForm 查询结果更新 deptList

原文地址: https://www.cveoy.top/t/topic/plwN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录