gpt4 book ai didi

javascript - 在 Vue.js 中单击后禁用按钮

转载 作者:行者123 更新时间:2023-12-03 09:46:38 25 4
gpt4 key购买 nike

我正在使用 Vue.js 构建一个新应用程序,并且遇到了我认为是一个简单的问题,但还没有找到解决方案。

我有一个包含三个答案的问题。我只希望用户能够单击一次我知道可以使用的答案 @click.once但我需要让用户知道它在 UI 中不再可点击。我试过一些像 <button :disabled="submitted" @click="checkAnswer('q1','3'), submitted = true"></button>但这会同时禁用所有三个按钮。有人可以告诉我如何在用户单击按钮后禁用按钮并使其独立于其他按钮吗?非常感谢任何帮助。

HTML:

<ul>
<li><button class="btn blue" @click="checkAnswer('q1','1')">Answer 1 for q1</button></li>
<li><button class="btn blue" @click="checkAnswer('q1','2')">Answer 2 for q1</button></li>
<li><button class="btn blue" @click="checkAnswer('q1','3')">Answer 2 for q1</button></li>
</ul>

代码:

export default {
name: 'Questions',
props: ['clue'],
data(){
return {
feedback: null,
answer: null,
answers: {
q1: '2',
q2: '1',
q3: '3'
}
}
},
methods: {
checkAnswer(q, a) {
if(a == this.answers[q]){
this.answer = "Congrats!"
} else {
this.answer = "Sorry that was the wrong answer."
}
}
}
}

最佳答案

传递 $event 作为第三个参数,然后在处理程序中,event.target.disabled = true

这确实是一种快速而肮脏的方法,只要这是按钮的尽头,就可以了。更健壮的方法是为每个按钮制作一个组件,并为它是否被禁用有一个状态变量。

关于javascript - 在 Vue.js 中单击后禁用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54182211/

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