vue @click 获取 html5 data-属性

本文介绍了如何在 Vue.js 应用中利用 `@click` 事件结合 HTML5 的 `data-*` 属性来存储和获取元素数据。强调了 `data-*` 属性的灵活性,但指出在 Vue 中直接使用对象作为数据会导致 `[object Object]` 的显示。建议使用 `dataset` 属性来访问这些自定义属性,并提供了 `$event.srcElement.dataset` 的用法示例。

使用data- * 属性可以为不同的标签存储数据。

特性:
  • 一个元素可以有任意数量的 data 属性。
  • data-* = “” 在vue中使用时,不可以存对象类型属性否则会直接输出[object object],如果一定要使用对象,将对象序列化
  • data-id 获取数据: $ event.srcElement.dataset.id
  <div class="test">
    <!--  event对象只在事件发生的过程中才有效 -->
    <h2 @click="g
在使用 `@johmun/vue-tags-input` 组件时,可以通过 `slot` 实现高度的自定义化,比如修改标签的显示样式、添加删除按钮或其他交互元素。该组件支持通过 `slot` 插入自定义的 HTML 模板来渲染每个标签项。 通过 `slot` 可以访问到每个标签的数据对象,例如标签的文本值、是否处于编辑状态等属性,从而根据这些属性构建自定义的 UI 元素[^1]。 以下是一个使用 `slot` 自定义标签显示的示例: ```vue <template> <vue-tags-input v-model="tag" :tags="tags" @tags-changed="newTags => tags = newTags" > <template v-slot:tag="{ tag }"> <div class="custom-tag"> <span>{{ tag.text }}</span> <button @click="removeTag(tag)">×</button> </div> </template> </vue-tags-input> </template> <script> import VueTagsInput from '@johmun/vue-tags-input'; export default { components: { VueTagsInput, }, data() { return { tag: '', tags: [], }; }, methods: { removeTag(tag) { this.tags = this.tags.filter(t => t.text !== tag.text); }, }, }; </script> <style> .custom-tag { display: inline-block; background: #e0e0e0; padding: 4px 8px; border-radius: 4px; margin: 4px; } .custom-tag button { margin-left: 8px; background: none; border: none; font-size: 16px; } </style> ``` 在这个示例中,`v-slot:tag` 定义了一个自定义的标签模板,其中包含一个 `span` 用于显示标签文本,以及一个 `button` 用于删除该标签。通过 `@click="removeTag(tag)"`,可以触发一个方法,从 `tags` 数组中移除对应的标签。 此外,`vue-tags-input` 还支持其他类型的 `slot`,例如用于自定义输入框的 `input` 插槽,或者用于自定义建议列表的 `autocomplete-item` 插槽,这些都可以按照类似的方式进行自定义。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

webhyx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值