Javascript VueJS-需要单击按钮两次,才能将副本复制到剪贴板

Javascript VueJS-需要单击按钮两次,才能将副本复制到剪贴板,javascript,vue.js,Javascript,Vue.js,我有一个文本输入和一个手风琴上的按钮副本 这是我在复制按钮上的代码 <accordian> <accordian-panel heading="Feed ID"> <div class="form-row form-row-layout"> <input type="text" v-model="feed.app_id"

我有一个文本输入和一个手风琴上的按钮副本

这是我在复制按钮上的代码

<accordian>
    <accordian-panel heading="Feed ID">
        <div class="form-row form-row-layout">
              <input type="text" v-model="feed.app_id" id="feedAppId" />
               <button class="btn btn-sm btn-primary" id="copyFeedIdBtn" @click.prevent="copyFeedId()" data-clipboard-target="#feedAppId">Copy</button>
         </div>
    </accordian-panel>
</accordian>
我注意到我必须点击两次按钮才能让它工作

我认为它不起作用的原因是当手风琴关闭时,
副本还没有注册。即使手风琴还关着,我也不知道如何登记这次活动。我注意到,当我尝试运行
jQuery('#copyFeedIdBtn')[0]
时,当它仍然关闭时返回
undefined
,但当它打开时,其中已经有数据


非常感谢您的帮助,谢谢

你这样试过吗

copyFeedId()
{
const el=getElementById('feedAppId');
el.focus();
el.设置选择范围(0,el.值.长度);
尝试
{
const result=document.execCommand('copy');
如果(结果)
{
//成功;
}
其他的
{
//失败
log('无法复制到剪贴板');
}
}
捕获(e)
{
//错误
控制台日志(e.message | | e);
}
}

你试过这样吗

copyFeedId()
{
const el=getElementById('feedAppId');
el.focus();
el.设置选择范围(0,el.值.长度);
尝试
{
const result=document.execCommand('copy');
如果(结果)
{
//成功;
}
其他的
{
//失败
log('无法复制到剪贴板');
}
}
捕获(e)
{
//错误
控制台日志(e.message | | e);
}
}

除非有人确切地知道您在使用什么,否则我们很难帮助您,您能创建一个代码笔来说明这个问题吗?所以我们也知道您正在使用的包和版本…如果您有vue,为什么要使用jQuery?据我所知,您的问题是通过调用处理程序来调用一个不存在的dom对象。使用
wait vm.$nextTick()
等待渲染。或者使用vue.Hi@Estradiaz-我怎么能使用它?对不起,我对此一无所知。除非有人确切知道你在使用什么,否则我们很难帮助你,你能创建一个代码笔来说明这个问题吗?所以我们也知道您正在使用的包和版本…如果您有vue,为什么要使用jQuery?据我所知,您的问题是通过调用处理程序来调用一个不存在的dom对象。使用
wait vm.$nextTick()
等待渲染。或者使用vue.Hi@Estradiaz-我怎么能使用它?对不起,我对这件事很不了解。
copyFeedId()
{
     this.clipboard = new Clipboard(jQuery('#copyFeedIdBtn')[0],{
        container: this.$el
     });
                
      this.clipboard.on('success', (e) => {
             this.$appToasts.success('Feed ID copied to clipboard');
             e.clearSelection();
      });

      this.clipboard.on('error', (e) => {
            console.error('Action:', e.action);
            console.error('Trigger:', e.trigger);
      });
 }