十一、 ant-Design-Vue三种传值方法

本文讲述了在AntDesignVue中,通过事件驱动、数据属性直接传递和使用提供/inject进行组件间深度通信的三种常见传值策略。
摘要由CSDN通过智能技术生成

1,第一种:事件传值

(1)src\views\gj\bid\pricelist\components\ProjectSelect.vue

定义事件:可以在子组件中发出事件,让父级组件接收数据,处理业务。

const emit = defineEmits(['select']);

/**

   * 设置当前选中的行,

   */

  function setSelectedKey(key: string, data?: object) {

    selectedKeys.value = [key];

    if (data) {

      emit('select', data);  //发出事件和数据

    }

  }

(2)接收事件数据,

src\views\gj\bid\pricelist\index.vue

<a-card :bordered="false" style="height: auto">

        <ProjectSelect @select="onProjectTreeSelect" />

      </a-card>

 3//处理函数,选中的项目

  let projectData = ref({});

  function onProjectTreeSelect(data) {

    console.log('--------------------data-'+JSON.stringify(data));

    console.log('--------------------data key-'+data.key);

    console.log('--------------------data leaf-'+data.isLeaf);

    projectData.value = data;      //接收数据data,触发projectData刷新tab子界面

    if(data.isLeaf===true){

      activeKey.value= "user-info"; //是叶子节点,触发改变激活所选择tab为当前"user-info"

    }else{

      activeKey.value= "base-info"; //不是叶子节点,触发改变激活所选择tab为当前base-info

    }

  }

(4)projectData触发子框内数据接收

      <a-card :bordered="false" style="height: auto">

        <DepartTree @select="onTreeSelect" :data="projectData"/>

      </a-card>

(5)子框中处理数据

src\views\gj\bid\pricelist\components\DepartTree.vue

//定义数据属性

  const props = defineProps({

    data: { require: true, type: Object },

  });

  // 当前选中的部门ID,可能会为空,代表未选择部门

  const projectId = computed(() => props.data?.id);

//监听数据变化

  watch(

    () => props.data,

    () => onSearch(unref(projectId))  //传入数据,触发查询

  );

2,第二种:数据属性传值

请参考上一篇博文,《vue页面上传文件与页面参数传递过程解析

3,第三种:向下子组件传值

  const { prefixCls } = useDesign('depart-user');

  provide('prefixCls', prefixCls);//发送数据

const prefixCls = inject('prefixCls');//接受数据

如:src\views\gj\project\GjProjectInfoList.vue中

const mainId = computed(() => (unref(selectedRowKeys).length > 0 ? unref(selectedRowKeys)[0] : ''));

//父级组件下发 mainId,让子组件接收

provide('mainId', mainId);

在子文件中接收数据

src\views\gj\project\GjProjectUploadbillList.vue

    //接收主表id

    const mainId = inject('mainId') || '';

### 回答1: 要在Vue3.0中使用ant-design-vue,需要先安装ant-design-vueVue3.0。可以使用npm或yarn来安装这些依赖项。 安装完成后,需要在Vue应用程序中引入ant-design-vue组件。可以在main.js文件中导入ant-design-vue并注册组件,如下所示: ``` import { createApp } from 'vue'; import App from './App.vue'; import Antd from 'ant-design-vue'; import 'ant-design-vue/dist/antd.css'; const app = createApp(App); app.use(Antd); app.mount('#app'); ``` 在这个例子中,我们导入了App.vue组件和ant-design-vue库。我们还导入了ant-design-vue的CSS文件。然后,我们使用Vue的createApp方法创建了一个Vue应用程序实例,并使用Antd插件注册了所有的ant-design-vue组件。最后,我们将应用程序挂载到DOM元素上。 现在,您可以在Vue组件中使用ant-design-vue组件了。例如,在App.vue组件中,您可以添加一个Button组件,如下所示: ``` <template> <div> <a-button type="primary">Primary Button</a-button> </div> </template> ``` 这将在页面上显示一个蓝色的主要按钮。您可以使用其他ant-design-vue组件来构建您的Vue应用程序界面。 ### 回答2: Ant Design Vue是一个优秀的Vue UI组件库,具有丰富的组件和可定制性。在Vue3.0中与ant-design-vue一起使用时,需要遵循以下几个步骤: 1. 使用Vue CLI 5.0创建一个Vue3.0项目:可以使用Vue CLI 5.0创建一个新的Vue3.0项目,确保已安装Vue CLI 5.0,并在命令行中输入以下命令: ``` vue create my-project ``` 2. 安装ant-design-vue:在项目目录中,可以通过npm或yarn安装ant-design-vue,输入以下命令: ``` npm install ant-design-vue --save ``` 或 ``` yarn add ant-design-vue ``` 安装完成后,需要在main.js中引入并使用它,输入以下代码: ``` import { createApp } from 'vue' import App from './App.vue' import Antd from 'ant-design-vue'; import 'ant-design-vue/dist/antd.css'; const app = createApp(App) app.use(Antd) app.mount('#app') ``` 3. 使用ant-design-vue组件:在Vue3.0中,可以使用ant-design-vue组件来构建UI界面,例如: ``` <template> <a-button type="primary"> Primary Button </a-button> </template> <script> import { Button } from 'ant-design-vue'; export default { name: 'MyComponent', components: { 'a-button': Button } } </script> ``` 在代码中导入Button组件,然后在模板中通过自定义标签来使用Button组件。 除了以上步骤,还可以通过自定义主题和按需加载来进一步优化ant-design-vue的使用。总之,在Vue3.0中使用ant-design-vue可以帮助开发人员快速构建出美观、易用的Web应用程序。 ### 回答3: Vue3.0是目前最新的Vue框架版本,它与前几个版本相比,在性能和开发效率上都有了很大的提高。而Ant Design Vue是一个非常流行的UI框架,也是许多Vue开发者所青睐的选择之一。在Vue3.0中使用Ant Design Vue方法如下: 1. 安装Ant Design Vue 在命令行输入以下命令安装Ant Design Vue: ```bash npm install ant-design-vue --save ``` 2. 在Vue项目中引入Ant Design Vue 在main.js文件中导入Ant Design Vue: ```javascript import { createApp } from 'vue'; import Antd from 'ant-design-vue'; import App from './App.vue'; import 'ant-design-vue/dist/antd.css'; const app = createApp(App); app.use(Antd); app.mount('#app'); ``` 在上述代码中,我们通过import语句将Ant Design Vue导入到了我们的Vue项目中,并使用app.use(Antd)将其引入到了Vue实例中。我们还通过import 'ant-design-vue/dist/antd.css'语句引入了Ant Design Vue的CSS样式文件,以便在项目中使用Ant Design Vue的样式。 3. 使用Ant Design Vue组件 现在,我们已经可以在Vue项目中使用Ant Design Vue组件啦!例如,我们可以在App.vue中这样使用Button组件: ```vue <template> <div> <a-button type="primary">Primary Button</a-button> </div> </template> <script> export default { name: 'App', }; </script> ``` 最后,我们需要运行npm run serve命令以启动Vue项目。在浏览器中打开http://localhost:8080,应该就可以看到一个使用Ant Design Vue Button组件的页面啦! 总之,使用Ant Design Vue可以让我们快捷、高效地构建Vue项目。希望这篇回答能够帮助到你!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值