gpt4 book ai didi

vue.js - 定位子组件的文本区域以复制到剪贴板

转载 作者:搜寻专家 更新时间:2023-10-30 22:18:58 25 4
gpt4 key购买 nike

我有一个针对文本区域并将内容复制到剪贴板的工作函数。直接定位文本区域时效果很好。

我需要针对子组件中文本区域的相同功能。我不知道如何定位每个组件中的特定区域。

工作示例:

<div class="media-label col-md-12">Product Title:</div>

<textarea
class="col-md-6 col-md-offset-3"
v-model="productTitle"
id="productTitle"
></textarea>

<button
type="button"
class="btn btn-info"
data-copytarget="#productTitle"
v-on:click="copyTextArea"
>
Copy Title To Clipboard
</button>

复制函数:

 copyTextArea(e) {
var targetElement = e.target;
var copiedTarget = targetElement.dataset.copytarget;
var element = document.querySelector(copiedTarget);
element.select();
document.execCommand('copy');
},

我遇到的组件设置问题:

<ExampleComponent
title="Title"
input-type="textarea"
v-model="productTitle"
id="productTitle"
></ExampleComponent>

<button
type="button"
class="btn btn-info"
copytarget="#productTitle"
v-on:click="copyTextArea"
>
Copy Title To Clipboard
</button>

<ExampleComponent
title="Description"
input-type="textarea"
v-model="productTitle"
id="productTitle"
></ExampleComponent>

<button
type="button"
class="btn btn-info"
copytarget="#productTitle"
v-on:click="copyTextArea"
>
Copy Title To Clipboard
</button>

最佳答案

使用 ref在 textarea 上,然后直接在 copyTextArea 方法中引用该元素:

new Vue({
el: '#app',
methods: {
copyTextArea() {
this.$refs.text.select();
document.execCommand('copy');
}
},
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.3.4/vue.min.js"></script>
<div id="app">
<div>Product Title:</div>
<textarea ref="text"></textarea>
<button @click="copyTextArea">
Copy Title To Clipboard
</button>
</div>

关于vue.js - 定位子组件的文本区域以复制到剪贴板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45041383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com