zoukankan      html  css  js  c++  java
  • Ant Design Vue中TreeSelect详解

    <template>
      <a-tree-select
        v-model:value="value"
        style=" 320px"
        :tree-data="treeData"
        allow-clear
        @select="selectHnader"
        search-placeholder="Please select"
      />
    </template>
    <script lang="ts">
    import { TreeSelect } from 'ant-design-vue';
    import { defineComponent, ref, toRefs, watch } from 'vue';
    
    const treeData = [
      {
        title: '部门0-0',
        value: '0-0',
        key: '0-0',
        children: [
          {
            title: '部门0-0-0',
            value: '0-0-0',
            key: '0-0-0',
          },
        ],
      },
      {
        title: '部门0-1',
        value: '0-1',
        key: '0-1',
        children: [
          {
            title: '部门0-1-0',
            value: '0-1-0',
            key: '0-1-0',
            disabled: true, // 该值不能够选中
          },
          {
            title: '教育局',
            value: '0-1-1',
            key: '0-1-1',
          },
        ],
      },
    ]
    export default defineComponent({
      setup() {
        //   那么它将选中部门 部门0-0-0;
        // 通过value值显示对应的title值
        const value = ref(['0-0-0']);
    
        // 监听,但是可能不需要
        watch(value, () => {
          console.log(value.value);
        });
    
        function selectHnader(value:any, node:any, extray:any){
            console.log("==>value",value); //获取的是数据源中的value值
            console.log("==>node", toRefs(node) ); // 该选中节点的属性
            console.log("==>extray",extray.selectedNodes[0].props.title); //得到显示的值
        }
        return {
          value,
          treeData,
          selectHnader
        };
      },
    });
    </script>
    

    使用select事件

    select 事件 被选中时调用 
    function(value, node, extra)
    我使用 select事件主要是得到选中的显示值
    最初我还想通过递归根据id得到显示的值{哈哈。尴尬了}
    

    作者:明月人倚楼
    出处:https://www.cnblogs.com/IwishIcould/

    想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,或者关注博主,在此感谢!

    万水千山总是情,打赏5毛买辣条行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主(っ•̀ω•́)っ✎⁾⁾!

    想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!

    支付宝
    微信
    本文版权归作者所有,欢迎转载,未经作者同意须保留此段声明,在文章页面明显位置给出原文连接
    如果文中有什么错误,欢迎指出。以免更多的人被误导。
  • 相关阅读:
    jQuery入门教程
    vue-lazyload 图片不更新
    Eggjs 设置跨域请求
    Vue.js错误: Maximum call stack size exceeded
    ubuntu nginx ssl 证书配置
    ubuntu 安装nginx, 出现 Unable to locate package
    nginx 判断移动端或者PC端 进入不同域名
    node.js 生成二维码
    Linux 配置ssh 免密码登录
    nodejs 从部署到域名访问
  • 原文地址:https://www.cnblogs.com/IwishIcould/p/15130659.html
Copyright © 2011-2022 走看看