forms - 如何使用 json 在 vue 中创建嵌套表单?
问题描述
在 Vue 中,如何创建嵌套在可选对象中的表单?
嵌套表单必须基于从下拉列表中选择的值显示。
我怎样才能做到这一点?
解决方案
Vue 让这种事情变得更简单,但你马上就会遇到如何在组件之间进行通信的问题。有事件和道具以及各种各样的东西,但最好的方法是拥有一个全局状态对象。在下拉列表中选择的值是表单需要的,所以它是共享状态,所以它进入全局存储。然后表单只是看商店看是否显示自己。代码工作...
var vueStore = {
ddSelection : null
}
Vue.component('my-form',{
inject: ['vueStore'],
template : `
<form v-if='vueStore.ddSelection === "showForm"'>
<input type='text' placeholder='tell me everything'/>
</form>
`
});
Vue.component('my-ddown',{
inject: ['vueStore'],
template : `
<select v-model='vueStore.ddSelection'>
<option value='dontShowForm'>Don't show the form</option>
<option value='showForm'>Show the form</option>
</select>
`,
});
var vm = new Vue({
data: {vueStore: vueStore},
el: '#vueRoot',
provide: {vueStore : vueStore}
});
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
<div id='vueRoot'>
<my-ddown></my-ddown>
<br>
<my-form></my-form>
</div>
推荐阅读
- python - Django通过admin中的主键过滤多对多关系
- javascript - Firebase admin sdk 调用错误的捕获
- c# - 什么时候异步,什么时候同步
- java - 列表视图中的 MP 图表
- java - 保存图像库 64 AngularJS Spring-Batch
- ios - 如何将我的 xocde 项目转换为 xcode 包?
- c++ - 当我使用索引缓冲区绘制对象时访问冲突
- react-native - TypeError:尝试更改不可配置属性的 getter
- c# - Blazor ProtectedSessionStorage 对象 NULL
- c++ - C++ 有没有我可以在 WinSock 中为 recv 函数设置生命周期?