Ant-vue 树形组件a-tree勾选时只能单选

Posted 尔嵘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ant-vue 树形组件a-tree勾选时只能单选相关的知识,希望对你有一定的参考价值。

template:

 <a-tree
    v-if="treeData.length"
    :checkable="true"
    v-model="checkedSiteId"
    :checkStrictly="true"
    :tree-data="treeData"
    defaultExpandAll
    ref="treeForm"
    :replaceFields="{ children: 'children', title: 'title', key: 'id' }"
    @check="handleNodeClick">
</a-tree>

js:

data(){
    return:{
        //树结构:和上面的replaceFields变量内容大致对应
        treeData: [
            {
                children: [
                    {
                        id: "1198908685567560144"
                        statu: undefined
                        title: "A站"
                    },
                    {
                        id: "11984789756097817201"
                        statu: undefined
                        title: "123"
                    }
                ],
                disabled: true
                id: -1
                title: "所有站点"
            }
        ],
        checkedSiteId: [],
    }
}

methods: {

    //a-tree 单选模式
    handleNodeClick(checkedKeys) {
       console.log(checkedKeys);
     this.checkedSiteId = [].concat(checkedKeys.checked[checkedKeys.checked.length - 1]);
       // this.checkedSiteId = [];
       // this.checkedSiteId.push(checkedKeys.checked[checkedKeys.checked.length - 1]);
       this.$nextTick(() => {
           if (this.checkedSiteId.length > 0) {
               this.siteActiveName = 'first';
               this.getPlantInfo(this.checkedSiteId.join(',')); //查询站点信息
           } else {
               return this.$message.info('请选择项目进行查询');
           }
       });
     },
},

mounted(){
     _this.checkedSiteId = [];
     _this.checkedSiteId.push(1198908685567560144);//默认选中A站
}

效果:

        图(1)

        图(2)

注意:

1.在vue中,针对于组件的操作定义方法时候,不需要带方法后面带();而针对于Ant-vue这类的组件所定义的方法不传参数不需要在方法名后面带(),他们默认是带参数的。比如本实例中的handleNodeClick(checkedKeys),打印如下:

 

以上是关于Ant-vue 树形组件a-tree勾选时只能单选的主要内容,如果未能解决你的问题,请参考以下文章

【ant design vue】a-tree树形组件获取数据及回显

[antd of vue] a-tree组件子节点不完全勾选获取父节点的值

iview tree 组件如何初始化选中一个,单选不是多选的

GWT - Datagrid:键盘单选,启用多选时

checkbox复选框,如何让其勾选时触发一个事件,取消勾选时不触发

解决easyui datagrid单选时复选框不取消问题