Как скопировать данные при двойном клике в Vue3?

Как можно реализовать функциональность копирования данных из ячейки таблицы во Vue3, используя двойной клик? Можно ли достигнуть этого без использования сторонних библиотек?
  • 24 февраля 2024 г. 12:08
Ответы на вопрос 2
Для реализации функциональности копирования данных при двойном клике в Vue3 можно воспользоваться директивой v-on для обработки события двойного клика и встроенным методом navigator.clipboard.writeText() для копирования данных в буфер обмена.

Пример реализации:

Шаблон компонента:
```html
<template>
  <table>
    <tr v-for="(item, index) in items" :key="index" @dblclick="copyData(item)">
      <td>{{ item }}</td>
    </tr>
  </table>
</template>
```

Скрипт компонента:
```javascript
<script>
export default {
  data() {
    return {
      items: ['Item 1', 'Item 2', 'Item 3']
    };
  },
  methods: {
    copyData(data) {
      navigator.clipboard.writeText(data)
        .then(() => {
          console.log('Data copied to clipboard');
        })
        .catch(err => {
          console.error('Failed to copy data to clipboard: ', err);
        });
    }
  }
};
</script>
```

Этот пример демонстрирует как можно скопировать данные из ячейки таблицы при двойном клике на неё. Данный подход не требует использования сторонних библиотек и позволяет легко реализовать функциональность копирования данных в Vue3.
Похожие вопросы