tree

作者: jesse28 | 来源:发表于2021-10-30 20:58 被阅读0次

效果图:


image.png

重点:这里如果要给tree新加属性,比如我这个是加了name属性,那么我需要用到插槽,需要添加template标签中添加slot="custom" slot-scope="item",在treeData的数据中需要加scopedSlots:{title:"custom"}。这里文档写的必须scopedSlots中对象的属性名必须是title。然后template标签中slot的就是title 定义的title:"custom"

<template>
  <div>
    你好
    
    <a-tree
      v-model="checkedKeys"
      checkable
      :expanded-keys="expandedKeys"
      :auto-expand-parent="autoExpandParent"
      :selected-keys="selectedKeys"
      :tree-data="treeData"
      @expand="onExpand"
      @select="onSelect"
    >
    <template slot="custom"  slot-scope="item">
      <div >
        <span >{{item.title}}</span>
        <span class="span2" >{{item.name}}</span>
      </div>
    </template>
    </a-tree>
  </div>
</template>

<script>
export default {
  name: "HelloWorld",
  data() {
    return {
      expandedKeys: [],
      autoExpandParent: true,
      checkedKeys: ["0-0-0"],
      selectedKeys: [],
      treeData: [
        {
          title: "0-0",
          key: "0-0",
          name:'第一级-1',
          scopedSlots: {
            title: "custom",
          },
          children: [
            {
              title: "0-0-0",
              key: "0-0-0",
              name:'第一级-2',
              scopedSlots: {
                title: "custom",
              },
            },
           
          ],
        },
        
      ],
    };
  },
  watch: {
    checkedKeys(val) {
      console.log("onCheck", val);
    },
  },
  props: {
    msg: String,
  },
  methods: {
    onExpand(expandedKeys) {
      console.log("onExpand", expandedKeys);
      // if not set autoExpandParent to false, if children expanded, parent can not collapse.
      // or, you can remove all expanded children keys.
      this.expandedKeys = expandedKeys;
      this.autoExpandParent = false;
    },
    onCheck(checkedKeys) {
      console.log("onCheck", checkedKeys);
      this.checkedKeys = checkedKeys;
    },
    onSelect(selectedKeys) {
      console.log("onSelect", selectedKeys);
      this.selectedKeys = selectedKeys;
    },
  },
};
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h3 {
  margin: 40px 0 0;
}
ul {
  list-style-type: none;
  padding: 0;
}
li {
  display: inline-block;
  margin: 0 10px;
}
a {
  color: #42b983;
}
.span2{
  display: inline-block;
  margin-left: 10px;
}
</style>

相关文章

网友评论

      本文标题:tree

      本文链接:https://www.haomeiwen.com/subject/nghnaltx.html