vue3+antd实现table点击具体某一列展示弹窗
需求,点击table内的具体一行的某一列,出现弹窗,展示JSON数据
第一步:
给a-table元素内添加属性
:customRow="rowClick"
<template>
<div>
// 表格
<a-table
bordered
:data-source="dataSource"
:columns="columns"
:customRow="rowClick"
/>
// 弹窗
<a-modal v-model:visible="visible" title="参数" @ok="handleOk">
<div v-for="items in params" style="white-space: nowrap;">
<pre style="margin-left: 45px">{{ items }}</pre>
</div>
</a-modal>
</div>
</template>
第二步:
根据定义的函数名,编写ts部分的内容;
分析:主要为两个方面:
- 获取到行的参数后将数据存储为JSON格式
- 确定点击的为具体的某一列然后展示该列的该行的字段
实现:
- 整体逻辑不复杂,主要是找到确定列的参数,根据event.target.cellIndex确定鼠标点击的第几列,然后根据这个参数判断自己需要点击哪一列进行弹窗显示
- 需要注意的点是对JSON数组赋值之前先将数据清空,否则会出现脏数据
params.length = 0;
<script lang="ts">
import { defineComponent, ref } from 'vue';
export default defineComponent({
setup() {
const visible = ref<boolean>(false);
// JSON格式的参数信息
let params = reactive([])
const showModal = () => {
visible.value = true;
};
const handleOk = (e: MouseEvent) => {
visible.value = false;
};
// record为整行的数据,需要具体哪一列根据字段名取
const rowClick = (record, index) => {
return {
onClick: (event) => {
// 判断点击的列数为4的时候展示弹窗
if (event.target.cellIndex == 4) {
visible.value = true;
// 将JSON数组清空
params.length = 0;
params.push(JSON.parse(record.params))
}
}
}
};
return {
visible,
showModal,
handleOk,
rowClick,
};
},
});
</script>
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgggkha
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13