vue3项目中动态antd中自带的icon

vue3项目中全局引入ant-design

因为antd的icon使用的时候大多是先引入想要使用的icon, 然后再以标签的形式再去使用。如果是动态的使用antd自带的icon,则需要全局引入,

1: 在main.ts中全部引入

		import * as antdIcons from '@ant-design/icons-vue'
		// 全局
		const app = createApp(App);
		Object.keys(antdIcons).forEach((key: any) => {
		  app.component(key, antdIcons[key as keyof typeof antdIcons])
		})
		// 添加到全局
		app.config.globalProperties.$antdIcons = antdIcons 
		app.use(Antd).use(router).mount('#app')

2: 在需要使用的组件中动态使用

	      <div  v-for='item in list'  ;key='item.id' >
					......
					<component :is="$antIcons[item.icon]"></component>
				    ......
		  </div>
      <script setup lang="ts" >
			const list = reactive<ListType>([
				{
					id:1, 
					icon:'StepBackwardOutlined'
				},
				......
				])
	  </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Vue3使用Antd Tree组件时,使用`expandedKeys`属性来控制展开或折叠节点时,需要注意以下几点: 1. `expandedKeys`是一个双向绑定的属性,需要使用`.sync`修饰符来实现双向绑定。 2. 收起节点时,需要在`onExpand`事件更新`expandedKeys`数组的值,同时需要使用`.sync`修饰符将更新后的`expandedKeys`数组传递给Tree组件的`expandedKeys`属性。 以下是一个示例代码段,用于收起key为`node1`的节点: ``` <template> <a-tree :expanded-keys.sync="expandedKeys" :on-expand="handleExpand"> <a-tree-node key="node1" title="Node 1"> <a-tree-node key="node1-1" title="Node 1-1"></a-tree-node> <a-tree-node key="node1-2" title="Node 1-2"></a-tree-node> </a-tree-node> <a-tree-node key="node2" title="Node 2"></a-tree-node> </a-tree> </template> <script> import { defineComponent, reactive } from 'vue'; export default defineComponent({ setup() { const state = reactive({ expandedKeys: ['node1'], }); const handleExpand = (expandedKeys) => { state.expandedKeys = expandedKeys; }; return { ...state, handleExpand, }; }, }); </script> ``` 在上面的代码,我们使用了Vue3的响应式数据(reactive)来定义了一个名为`state`的状态对象,其包含了一个名为`expandedKeys`的数组,用于控制树的展开状态。我们将`expandedKeys`数组传递给Tree组件的`expanded-keys`属性,并使用`.sync`修饰符实现双向绑定。在`on-expand`事件,我们更新了`expandedKeys`数组的值,并使用`.sync`修饰符将更新后的`expandedKeys`数组传递给Tree组件的`expanded-keys`属性。 当我们点击节点时,会触发`on-expand`事件,并在事件处理函数更新`expandedKeys`数组的值。如果该节点的key已经在`expandedKeys`数组,我们就从该数组移除该节点的key,从而收起该节点。如果该节点的key不在`expandedKeys`数组,我们就将该节点的key添加到`expandedKeys`数组,从而展开该节点。最后,我们将更新后的`expandedKeys`数组传递给Tree组件的`expanded-keys`属性,实现双向绑定。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值