【发布时间】:2016-04-21 14:58:22
【问题描述】:
奇怪,当我更改正在显示的元素时,我的输入的自动对焦属性不起作用
见附上的小提琴:https://jsfiddle.net/e53Lgnnb/6/
代码: HTML:
<body>
<!-- Email [POST] -->
<div class="" id="email" v-show="activeStep == 'email'">
<form action="onboarding-5.html" @submit.prevent="submitForm('email', 'password')">
<div class="form-row">
<input type="email" autofocus required placeholder="email">
</div>
<p>
<button type="submit" class="button">Ok <i class="icon arrow-right"></i></button>
</p>
</form>
</div>
<!-- Password [POST] -->
<div class="onboarding-content-wrap" id="password" v-show="activeStep == 'password'">
<form action="onboarding-6.html">
<div class="form-row">
<input type="password" autofocus required placeholder="password">
</div>
<p>
<button type="submit" class="button">Ok <i class="icon arrow-right"></i></button>
</p>
</form>
</div>
</body>
JS:
new Vue({
el: 'body',
data: {
activeStep: 'email',
},
methods: {
// Show the step as active
getNextStep: function (nextStep) {
this.activeStep = nextStep;
},
submitForm: function (currentStep, nextStep) {
this.getNextStep(nextStep);
console.log(response.data);
}
}
});
发生了什么事? 非常感谢 !
【问题讨论】:
-
如果 'autofocus' 标签只被处理一次——当初始 DOM 被加载时,我不会感到惊讶。因此,使用 watch 的解决方案(见下面的答案)似乎非常合理
标签: javascript html laravel vue.js