• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Antd-vue Table组件添加Click事件,实现点击某行数据教程

vue 搞代码 4年前 (2022-01-08) 12次浏览 已收录 0个评论

这篇文章主要介绍了Antd-vue Table组件添加Click事件,实现点击某行数据教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

给Table组件添加Click事件,实现点击某行数据操作

customRow 设置行属性 Function(record, index)

通过customRow 属性给table添加自定义事件

  
 methods: { handleClickRow(record, index){ return { on: { click: () => { console.log(record, index) console.log('点击行内容record' + record) console.log('序号索引index' + index) } } } } }

控制台输出:

补充知识:利用filetr 操作 ant-design table某一行的某一列的数据。点击切换真实数据和加密数据

情景描述:

如果有这样一个需求,在table中的某一列的数据,不能直接展示原始数据,而是使用加密符号代替,只有点击了某行某列之后,才能切换到真实数据,每次点击就是一次切换。

这样类似的需求你会怎么实现?

这里使用ant-design UI框本文来源[email protected]搞@^&代*@码2网架中的table组件做为例子来讲。

首先,肯定会想到用filter(angular中叫pipe,vue里面叫filter)。

上代码:

 <span> <span style="cursor: pointer">{{ record | codeFilter(secret, currentRecordId) }}</span></span>

这里,我们使用了codeFilter这个filter,它有三个参数。

所以,我们先要创建这个filter,

 Vue.filter('permisssionCodeFilter', function (data, secret, id) { // 初始状态,所有code都以保密符号显示 if (!id) { if (secret) { return replaceString(data.code, '*') } else { return data.code } } else { // 如果是点击了某行,则只响应该行code是保密显示还是直接显示,其他非点击行都以保密符号显示 if (id === data.id) { if (secret) { return replaceString(data.code, '*') } else { return data.code } } else { return replaceString(data.code, '*') } } })

初始状态下,我们没有点击任何一行,所以id肯定是空的,那么根据secret这个参数是true还是false来决定所有行的数据都是直接显示还是加密符号显示。

replaceString()是一个公共方法,用来替换字符串的值

 /** * replace string * @param string * @param target */ export function replaceString (string, target) { let retValue = string const stringArr = string.split('') stringArr.forEach(t => { retValue = retValue.replace(t, target) }) return retValue }

接着,如果是点击了某行的那个数据,怎么做到该数据要显示真实数据还是加密符号?如果是点了其他行,怎么隐藏该行的数据,而显示当前点击行的数据?

先看点击事件的方法:

 showCode (record) { // 如果当前行显示的是密文,则先将点击行的id赋给currentId,以便下面这个条件可以满足,修改screct的值; // 如果当前行显示的是明文,则不需要满足下面的条件,secret的值无需修改,因为点击该行之后,所有行数据都是显示密文 if (this.secret) { this.currentId = record.id } if (!this.currentId || this.currentId === record.id) { this.secret = !this.secret } this.currentId = record.id },

如果当前行显示的是密文,则先将点击行的id赋给currentId,以便下面这个条件可以满足,修改screct的值;

如果当前行显示的是明文,则不需要满足下面的条件,secret的值无需修改,因为点击该行之后,所有行数据都是显示密文;

这样就实现了。

要注意的是,这种方法只是临时改变了数据显示在那一列的显示,并没有直接改变表格数据中该列的值。

有些场景是要直接改变表格数据的值,才能在表格上更新,比如该列的值是展示在一个input控件里。

以上就是Antd-vue Table组件添加Click事件,实现点击某行数据教程的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Antd-vue Table组件添加Click事件,实现点击某行数据教程

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址