Javascript vuejs-如何绑定两个条件以启用提交按钮?
我想尽可能简单地验证我的输入 因此,如果输入不为null,则应选中该输入,并且必须选中复选框以启用submit按钮 目前,我只能绑定必须选中复选框的条件,但我不知道如何也绑定输入。长度!=0条件 当前代码: 我读到计算机属性可以做这项工作,但在我的案例中,我无法让它工作Javascript vuejs-如何绑定两个条件以启用提交按钮?,javascript,vue.js,computed-properties,buefy,Javascript,Vue.js,Computed Properties,Buefy,我想尽可能简单地验证我的输入 因此,如果输入不为null,则应选中该输入,并且必须选中复选框以启用submit按钮 目前,我只能绑定必须选中复选框的条件,但我不知道如何也绑定输入。长度!=0条件 当前代码: 我读到计算机属性可以做这项工作,但在我的案例中,我无法让它工作 谢谢大家。如果您想在未添加任何输入或未选中复选框的情况下禁用/隐藏按钮,最好的解决方案是使用计算属性。此外,还添加了v-model=input,但没有添加数据属性 以下是如何做到这一点 Vue.useBuefy.default
谢谢大家。如果您想在未添加任何输入或未选中复选框的情况下禁用/隐藏按钮,最好的解决方案是使用计算属性。此外,还添加了v-model=input,但没有添加数据属性 以下是如何做到这一点 Vue.useBuefy.default var App=新的Vue{ el:“应用程序”, 数据:函数{ 返回{ 勾选:假, I:错, 电子邮件:空 } }, 方法:{ 日志{ console.logarguments } }, 计算:{ ValidDataAdd:函数{ 返回this.checked&&this.email&&this.email.length>0; } } } 应用程序{ 边缘:2米; } v斗篷{ 显示:无; } 布菲 订阅 维恩·努岑·弗尔·登·范桑德·安塞尔通讯社。本·蒂根·戴恩的电子邮件地址,是希肯·祖·科恩的通讯。最好的选择是在迪恩·德尔芬的家里。韦特瑞信息中心发现了一个秘密 Deine时事通讯是erfolgt,Besätige nun den Double Opt In Link In der Besätigungsemail。
您可以添加一个带有专用函数的方法组,以启用按钮,甚至更改按钮和按钮类:
<template>
<b-input
placeholder="E-Mailadresse"
type="email"
v-model="mail"
v-bind:class="classMail"
@change="checkMail()"
>
</b-input>
<button class="button" :class="classSubmitMail"
@click="isActive = !isActive"
:disabled="mailOk">
Subscribe
</button>
...
</template>
<script>
export default {
data () {
return {
email: '',
checked: false,
isActive: false,
mailOk: false,
classMail: 'is-what-you-nead'
classSubmitMail: 'is-gray'
}
},
methods: {
checkMail: function () {
this.mailOk = false
// regexp stuff check mail .. .
// this.mailOk = ...
//this.classMail = 'is-...'
if (mailOk && this.checked) {
this.classSubmit = 'is-success'
this.classMail = 'is-success'
} else {
this.classSubmit = 'is-warning'
}
}
}
}
将输入添加到您的数据属性中,然后检查是否已选中此项(&inputTried)。没用。这就是为什么它在当前代码中丢失的原因。v-model=input是一个遗留问题。我真的很想知道,为什么我会获得负面声誉?谢谢@azs06。您的解决方案与我的方法最接近v-model=输入是我失败的前一个解决方案的遗留问题。谢谢@lucilefievet。我欢迎你的做法。就我个人而言,我将坚持使用**asz06**参见上面的解决方案,因为它与我以前尝试过的方法非常接近,我不希望所有的类都包含在函数中。无论如何谢谢你是的,asz06更优雅:而且最好使用计算机
<template>
<b-input
placeholder="E-Mailadresse"
type="email"
v-model="mail"
v-bind:class="classMail"
@change="checkMail()"
>
</b-input>
<button class="button" :class="classSubmitMail"
@click="isActive = !isActive"
:disabled="mailOk">
Subscribe
</button>
...
</template>
<script>
export default {
data () {
return {
email: '',
checked: false,
isActive: false,
mailOk: false,
classMail: 'is-what-you-nead'
classSubmitMail: 'is-gray'
}
},
methods: {
checkMail: function () {
this.mailOk = false
// regexp stuff check mail .. .
// this.mailOk = ...
//this.classMail = 'is-...'
if (mailOk && this.checked) {
this.classSubmit = 'is-success'
this.classMail = 'is-success'
} else {
this.classSubmit = 'is-warning'
}
}
}
}