ElementUI中el-tree节点的操作的实现

2020-06-16 06:50:50易采站长站整理

其实tree的有些方法用起来是很方便的,
this.$refs.tree.getCheckedKeys();这个原生态的方法。官方文档上说的是,返回一个数组。有了这个方法,我们就可以得到选中的每个节点的id,拿到了id,那所有的问题就迎刃而解了。
废话不多说,直接上代码

html


<div id="app">
<el-row>
<el-button @click="checkedKeys">得到节点id</el-button>
<el-button @click="addNode">添加节点</el-button>
<el-button @click="checkedKeys">修改节点</el-button>
<el-button @click="deleteNode">删除节点</el-button>
<br/>
<br/>

<el-tree
ref="tree"
:data="treeList"
:props="defaultProps"
@node-click="handleNodeClick"
show-checkbox=true
node-key="id"
:check-strictly="true"
>
</el-tree>
<el-input>输入框</el-input>
<el-dialog title="添加"
:visible.sync="dialogVisible"
>
<el-form ref="form">
<el-form-item label="节点父类型">
<el-select placeholder="请选择要添加节点的父节点" v-model="treeNode.parentId" @change="selectChange" >
<el-option label="根节点" :value="0"></el-option>
<el-option v-for="item in treeListData" :label="item.categoryName" :value="item.nodeId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="节点名称">
<el-input placeholder="请输入节点名称" v-model="treeNode.categoryName" style="width: 220px"></el-input>
</el-form-item>
</el-form>

<span>
<el-button @click="cancleSaveNode">
取消
</el-button>
<el-button @click="saveNode">
确定
</el-button>
</span>

</el-dialog>

</el-row>

</div>

js代码


<script type="text/javascript">

var _treeNode={
nodeId:0,
categoryName:"",
parentId:0
}

var app = new Vue({
el:'#app',
data:{
treeNode:_treeNode,
treeList:[],
treeListData:[], // 无层级结构节点数据
defaultProps:{
children: 'childList',
label: 'name'
/* label: 'categoryName'*/
},
dialogVisible:false, // 对话框,默认不打开
api:{
treeDataList:"/category/treeList.do", // 得到节点数据,无层级结构 GET
saveTreeNode:"/category/saveTreeNode.do", // 得到节点数据,无层级结构 GET