为啥条件渲染不适用于 vuejs 中的表单输入

Posted

技术标签:

【中文标题】为啥条件渲染不适用于 vuejs 中的表单输入【英文标题】:why is conditional rendering not working for form input in vuejs为什么条件渲染不适用于 vuejs 中的表单输入 【发布时间】:2019-05-22 22:03:18 【问题描述】:

我有一个带有选择选项的表单:

        <div>
            <select>
                <option v-model="department" :value="n" v-for="n in ['Please select', 'Medicine', 'Dental']">n</option>
            </select>
        </div>
        <div class="alignBtn">
            <label><span>&nbsp;</span><input type="submit" v-on:click.prevent="generateSlip()" value="Submit" />
            </label>
        </div>

根据上面的选择,我想显示标题内容:

               <div v-if="department === 'Medicine'">
                    <h1>Option A</h1>
                </div>
                <div v-else>
                    <h1>Option B</h1>
                </div>

但每次输出选项 B 时。

【问题讨论】:

v-if中的“部门”周围使用“”有什么特殊原因吗? 你的意思是 department 应该呈现部门的价值? 【参考方案1】:

我认为v-model 指令应该在select 元素中。你可能打算这样做..

<div>
    <select v-model="department">
        <option :value="n" v-for="n in ['Please select', 'Medicine', 'Dental']">n</option>
    </select>
</div>
<div class="alignBtn">
    <label><span>&nbsp;</span><input type="submit" v-on:click.prevent="generateSlip()" value="Submit" />
    </label>
</div>

在这种情况下,您也不需要解构。所以你可以直接在相等比较中使用department ..

<div v-if="department === 'Medicine'">
    <h1>Option A</h1>
</div>
<div v-else>
    <h1>Option B</h1>
</div>

【讨论】:

我明白了,谢谢,你能帮我解决这个问题吗:***.com/q/53902123/3311276 请 这里也不需要严格比较。

以上是关于为啥条件渲染不适用于 vuejs 中的表单输入的主要内容,如果未能解决你的问题,请参考以下文章

Css 过渡不适用于 React 中的条件渲染

为啥 innerText,innerHTML 属性不适用于 javascript 中的输入标签?

为啥虚拟键盘不适用于 Qt 中的 QDialog 文本框?

为啥不输入“提交”不适用于表格?

复制到剪贴板不适用于 VueJS 中的 Chrome 浏览器

Vuejs基础之:条件列表时间表单