vue中的el-tree @node-click傳自定義參數

el-tree @node-click傳自定義參數

<el-tree node-click="(data, node, item) => nodeClick(data, node, item, param)"></el-tree>
nodeClick(data, node, item, param) {
    console.log(data)   // data,node,item為默認參數
    console.log(node)
    console.log(item)
    console.log(param)    // param為自定義的參數
}

給el-tree添加自定義圖標

 <el-tree
          v-if="treeVisible"
          ref="tree"
          :props="Props"
          node-key="id"
          :default-expanded-keys="level"
          style="height:120vh"
          :allow-drop="allowDrop"
          draggable
          accordion
          :allow-drag="allowDrag"
          lazy
          :load="loadNode"
          @node-click="handleNodeClick"
          @node-contextmenu="rihgtClick"
          @node-drag-start="ondeDrag"
        >
          <span slot-scope="{ node, data }">
            <i :class="data.icon" style="font-size:0.3rem" />
            <span style="padding-left:4px;font-size:0.3rem">{{ data.name }}</span>
          </span>
        </el-tree>

主要思路就是,在el-tree標簽裡添加:

<span slot-scope="{ node, data }">
            <i :class="data.icon" style="font-size:0.3rem" />
            <span style="padding-left:4px;font-size:0.3rem">{{ data.name }}</span>
</span>

註意:

這裡用到瞭el-tree的懶加載所以沒有綁定data屬性。

懶加載代碼是:

el-tree標簽添加屬性和方法:

:props=“Props”
lazy
:load=“loadNode”

data裡聲明props:

Props: {
children: ‘children',
label: ‘name',
isLeaf: ‘leaf'
}

在懶加載方法裡,必須要給data定義icon屬性,指明圖標名稱。 

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: