鍍金池/ 問答/HTML/ elementui el-tree 樹形組件點(diǎn)擊報錯

elementui el-tree 樹形組件點(diǎn)擊報錯

在使用elementui樹形控件時,點(diǎn)擊node展開時報錯,且僅能展開無法收起

點(diǎn)擊小箭頭就不會報錯,google了一下也沒有這個錯誤的詳細(xì)信息,求問

補(bǔ)充一下版本:

    "element-ui": "2.0.11",
        "vue": "2.5.13",

圖片描述

代碼如下:

        <el-form-item label="權(quán)限列表" prop="fatherNo">
            <el-tree
              :data="resources"
              show-checkbox
              node-key="value"
              ref="tree"
              highlight-current
              :props="defaultProps">
            </el-tree>
          </el-form-item>

對el-tree有操作的代碼:

   handleCreate() {
      this.resetTemp()
      this.dialogStatus = 'create'
      this.dialogFormVisible = true
      this.$nextTick(() => {
        for (var i = 0; i < this.$refs.tree.store._getAllNodes().length; i++) {
          this.$refs.tree.store._getAllNodes()[i].expanded = false
        }
        this.$refs['dataForm'].clearValidate()
        this.$refs.tree.setCheckedKeys([])
      })
    },
    handleUpdate(row) {
      this.temp = Object.assign({}, row)
      this.dialogStatus = 'update'
      this.dialogFormVisible = true
      this.$nextTick(() => {
        for (var i = 0; i < this.$refs.tree.store._getAllNodes().length; i++) {
          this.$refs.tree.store._getAllNodes()[i].expanded = false
        }
        this.$refs['dataForm'].clearValidate()
        this.$refs.tree.setCheckedKeys(this.temp.resources)
      })
    },

數(shù)據(jù)結(jié)構(gòu):

[
        {
            "value": "16144fc3568_a88ee4cf_945d_46dc_b717_17f1df11d2a1",
            "label": "系統(tǒng)管理",
            "pno": "0000",
            "children": [
                {
                    "value": "16144fd5943_b8ce4b8b_89c7_46a4_a57d_e04c1d22e51c",
                    "label": "用戶管理",
                    "pno": "16144fc3568_a88ee4cf_945d_46dc_b717_17f1df11d2a1",
                    "children": [
                        {
                            "value": "161450251ec_513a9007_0145_48b7_80d7_6599d9344dc2",
                            "label": "用戶新增",
                            "pno": "16144fd5943_b8ce4b8b_89c7_46a4_a57d_e04c1d22e51c"
                        },
                        {
                            "value": "161450251ec_762863d2_779f_4691_bf25_4f215ee2af92",
                            "label": "用戶修改",
                            "pno": "16144fd5943_b8ce4b8b_89c7_46a4_a57d_e04c1d22e51c"
                        },
                        {
                            "value": "161450251ec_c0120ccb_1ea5_4df9_a958_0f9ad9fb5bec",
                            "label": "用戶刪除",
                            "pno": "16144fd5943_b8ce4b8b_89c7_46a4_a57d_e04c1d22e51c"
                        }
                    ]
                },
                {
                    "value": "16144fd5943_df08b80a_528f_4f22_a9ac_49a80b83cdbf",
                    "label": "資源管理",
                    "pno": "16144fc3568_a88ee4cf_945d_46dc_b717_17f1df11d2a1",
                    "children": [
                        {
                            "value": "161450251ed_4abbbee3_62ab_4489_8cf3_5be645fa4bcf",
                            "label": "資源新增",
                            "pno": "16144fd5943_df08b80a_528f_4f22_a9ac_49a80b83cdbf"
                        },
                        {
                            "value": "161450251ed_f40eee2f_a42a_483e_b24c_2e9dee0247ac",
                            "label": "資源修改",
                            "pno": "16144fd5943_df08b80a_528f_4f22_a9ac_49a80b83cdbf"
                        },
                        {
                            "value": "161450251ed_dd1f712a_47b4_4157_8d7b_c1faf989ad16",
                            "label": "資源刪除",
                            "pno": "16144fd5943_df08b80a_528f_4f22_a9ac_49a80b83cdbf"
                        }
                    ]
                },
                {
                    "value": "16144fd5943_40c721c0_3e17_450b_bcfa_bb5975ccc1e4",
                    "label": "角色管理",
                    "pno": "16144fc3568_a88ee4cf_945d_46dc_b717_17f1df11d2a1",
                    "children": [
                        {
                            "value": "161450251ec_5e3cbfd4_5d30_47b7_ab22_3a83d660c80a",
                            "label": "角色新增",
                            "pno": "16144fd5943_40c721c0_3e17_450b_bcfa_bb5975ccc1e4"
                        },
                        {
                            "value": "161450251ec_9cf9a299_1371_4d6e_8eb4_a17f77ee330d",
                            "label": "角色修改",
                            "pno": "16144fd5943_40c721c0_3e17_450b_bcfa_bb5975ccc1e4"
                        },
                        {
                            "value": "161450251ec_1c01f933_e495_415b_8cc5_a20cf0fae447",
                            "label": "角色刪除",
                            "pno": "16144fd5943_40c721c0_3e17_450b_bcfa_bb5975ccc1e4"
                        }
                    ]
                }
            ]
        }
    ]

報錯貼圖

圖片描述

報錯信息

vue.esm.js?65d7:578 [Vue warn]: Error in event handler for "node-expand": "RangeError: Maximum call stack size exceeded"

found in

---> <ElTreeNode>
       <ElTree>
         <ElFormItem>
           <ElForm>
             <ElDialog>
               <Index> at src/views/role/index.vue
                 <AppMain> at src/views/layout/AppMain.vue
                   <Layout> at src/views/layout/Layout.vue
                     <App> at src/App.vue
                       <Root>
warn @ vue.esm.js?65d7:578
logError @ vue.esm.js?65d7:1713
globalHandleError @ vue.esm.js?65d7:1708
handleError @ vue.esm.js?65d7:1697
Vue.$emit @ vue.esm.js?65d7:2517
e.(anonymous function) @ backend.js:1
handleExpandIconClick @ element-ui.common.js?a187:21010
boundFn @ vue.esm.js?65d7:191
handleClick @ element-ui.common.js?a187:20999
boundFn @ vue.esm.js?65d7:190
click @ element-ui.common.js?a187:21133
invoker @ vue.esm.js?65d7:2004
fn._withTask.fn._withTask @ vue.esm.js?65d7:1802
vue.esm.js?65d7:1717 RangeError: Maximum call stack size exceeded
    at RegExp.[Symbol.match] (<anonymous>)
    at String.match (native)
回答
編輯回答
陪妳哭

折騰了一天,換了個瀏覽器居然好了?喵喵喵?然后重啟了谷歌瀏覽器,什么問題都沒有了,這臥槽

2017年7月14日 19:01
編輯回答
落殤

看報錯信息,像是遞歸調(diào)用了,建議檢查一下是否有node的click事件處理。

2018年2月6日 20:16