zoukankan      html  css  js  c++  java
  • ant-design-vue中的a-directory-tree更换图标

    <template>
      <div>
        <a-directory-tree multiple default-expand-all @select="onSelect"
                          :icon='getIcon'
        >
          <a-tree-node key="0-0" title="parent 0">
            <a-tree-node key="0-0-0" title="leaf 0-0" is-leaf/>
            <a-tree-node key="0-0-1" title="leaf 0-1" is-leaf/>
          </a-tree-node>
        </a-directory-tree>
      </div>
    </template>
    <script>
      const treeData = [
        {
          title: 'parent 1',
          key: '0-0',
          slots: {
            icon: 'smile',
          },
          children: [
            {
              title: 'leaf',
              key: '0-0-0',
              slots: { icon: 'meh' }
            },
            {
              title: 'leaf',
              key: '0-0-1',
              scopedSlots: { icon: 'custom' }
            },
          ],
        },
      ]
    
      export default {
        data () {
          return {
            treeData,
            dirIcon: '<a-icon slot="smile" type="smile-o" />'
          }
        },
        methods: {
          onSelect (selectedKeys, info) {
            console.log('selected', selectedKeys, info)
          },
          onCheck (checkedKeys, info) {
            console.log('onCheck', checkedKeys, info)
          },
          getIcon(props) {
            const { isLeaf, expanded } = props;
            if (isLeaf) {
              return <a-icon type="home" />;
            }
            return <a-icon type={expanded ? "folder-open" : "folder"} />;
          }
        },
      }
    </script>

    主要是getIcon这个方法,拉进行目录和文件的区分,然后返回一个slot给组件即可

  • 相关阅读:
    [GXOI/GZOI2019] 旧词
    [HDU6756] Finding a MEX
    [洛谷P5110] 块速递推
    [CF739C] Alyona and towers
    1349. 修理牛棚
    L2-028 秀恩爱分得快 (25 分)
    L2-009 抢红包 (25 分)
    L1-043 阅览室 (20 分)
    2020年天梯赛-模拟赛 L1-6 检查密码 (15 分)
    L1-046 整除光棍 (20 分)
  • 原文地址:https://www.cnblogs.com/mmykdbc/p/14030342.html
Copyright © 2011-2022 走看看