当前位置: 首页 > news >正文

Vue3中为Ant Design Vue中Modal.confirm自定义内容

在一次业务开发时代码时,碰到了一种既想要Modal.confirm样式,又想要定制其content内容的情况。

大部分情况下,使用Modal.method()这种方式时,可能content内容固定都是字符串,那如果想要做更高级的交互怎么办?查阅 Ant Design Vue官方文档,发现content可以不仅仅是字符串:
请添加图片描述
可以看到content是可以接收VNode或h函数的,下面分别讲解,这两种参数的用法

VNode形式

1、创建一个组件

<template><div class="d-flex"><span>{{ props.text }}</span><img src="https://pic.616pic.com/ys_img/00/31/95/oGv09XRm2b.jpg" class="jc-arrow" @click="onClickSetting" /></div>
</template>
<script setup lang="ts">
export interface Props {text: string;
}
const props = withDefaults(defineProps<Props>(), {text: undefined,
});const onClickSetting = () => {console.log('click setting');
};
</script>
<style lang="less" scoped>
.jc-arrow {width: 20px;height: 20px;
}
</style>

2、在需要使用的地方引入该组件,并且从Vue中引入createVNode函数

// 引入组件
import JumpConfirm from './JumpConfirm.vue';
// 引入函数
import { createVNode } from 'vue';
  1. 调用
state.modal = Modal.confirm({title: '模态框title',content: createVNode(JumpConfirm, {text: '重置',}),centered: true,okText: countdownText.value,onOk: async () => {clearCountdown();},onCancel: () => {clearCountdown();},});

createVNode第一个参数传的是组件,第二个参数传的是组件需要的props。

比如我上面的组件定义了接收Props在组件中使用,所以我这里第二个参数传的就是我前面定义的Props需要的参数

4、效果
请添加图片描述

h函数形式

h函数用法请参考官方文档:https://vue3js.cn/global/h.html

const builtIns = ['模板1', '模板2', '模板3', '模板4'];
Modal.confirm({title: '以下模板不可删除',centered: true,content: h('div',{style: {'max-height': '200px','overflow-y': 'auto',},},[h('p', {class: 'c-t05 font-xs'}, '内置模板'), h('p', {class: 'c-t01 font-13'}, builtIns.join(','))]),

请添加图片描述

http://www.lryc.cn/news/391581.html

相关文章:

  • 智能猫砂盆到底哪家好用?自费实测聚宠、糯雪、CEWEY真实反馈!
  • 初阶数据结构之二叉树
  • 代码随想三刷动态规划篇8
  • ​​服务拆分的原则
  • 离线安装docker社区版
  • 徒手绘制 Android 通用进度条
  • 【TB作品】矩阵键盘电话拨号,ATMEGA16单片机,Proteus仿真 atmega16矩阵键盘电话拨号
  • JavaScript(6)——数据类型转换
  • 概率论与数理统计_下_科学出版社
  • Android 复习layer-list使用
  • 汉光联创HGLM2200N黑白激光多功能一体机加粉及常见问题处理
  • 引领汽车软件开发走向ASPICE认证之路
  • 【C/C++ new/delete和malloc/free的异同及原理】
  • Maven Archetype 自定义项目模板:高效开发的最佳实践
  • vue的ESLint 4格缩进 笔记
  • 【前端项目笔记】8 订单管理
  • 构建Yarn依赖树:深入解析与实践指南
  • 社区活动|FlowUs知识库的发展|先进技术的落地应用|下一代生产力工具你用了吗
  • Python基础语法(与C++对比)(持续更新ing)
  • LeetCode-Leetcode 1120:子树的最大平均值
  • AI在软件开发中的角色:助手还是取代者?
  • jboss 7.2
  • 鸿蒙开发:Universal Keystore Kit(密钥管理服务)【密钥生成介绍及算法规格】
  • 电气-伺服(4)CANopen
  • JavaFx基础知识
  • 学会python——用python制作一个登录和注册窗口(python实例十八)
  • Vue3+Element-plus的表单重置
  • pytorch中的contiguous()
  • Windows系统安装分布式搜索和分析引擎Elasticsearch与远程访问详细教程
  • 深入理解计算机系统 CSAPP 家庭作业8.26