vue.js - Vue.js 发布复选框空数据或完整数据
问题描述
我正在尝试用vue js制作一个复选框,以便不编写该方法。我首先希望复选框为假,下一步是在发布复选框时,我希望将“opening_balance”作为空数组发送。反之亦然,如果选中该复选框,我希望它在发布数据时出现在“opening_balance”中。
例如:POST 无复选框
opening_balance: {}
过帐检查
opening_balance: {date: "2021-08-30", net_total: "1000.00", currency: "USD"}
new Vue({
el: '#app',
data() {
return {
attributes: {
opening_balance: {
net_total: 0,
date: new Date(),
currency: USD,
},
}
}
}
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.14/vue.js"></script>
<div id="app" style="padding: 1rem;">
<div class="d-flex">
<input class="form-check-input" type="checkbox" value="false" @click="attributes.opening_balance" v-model="attributes.opening_balance">
<label class="form-check-label"><b> opening balance</b></label>
</div>
<div v-if="attributes.opening_balance">
<input type="text" id="Detaylari" class="form-control" v-model="attributes.opening_balance.date">
<input type="text" class="form-control" v-model="attributes.opening_balance.net_total">
<input type="text" class="form-control" v-model="attributes.opening_balance.currency">
</div>
</div>
解决方案
如果我理解正确,请看下面的片段:
const app = new Vue({
el: '#app',
data() {
return {
attributes: {
opening_balance: {
},
}
}
},
methods: {
setBalance(e) {
if(!e.target.checked) {
this.attributes.opening_balance= {}
}
}
}
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app" style="padding: 1rem;">
<div class="d-flex">
<input class="form-check-input" type="checkbox" @click="setBalance">
<label class="form-check-label"><b> opening balance</b></label>
</div>
<div v-if="attributes.opening_balance">
<input type="text" id="Detaylari" class="form-control" v-model="attributes.opening_balance.date">
<input type="text" class="form-control" v-model="attributes.opening_balance.net_total">
<input type="text" class="form-control" v-model="attributes.opening_balance.currency">
<p>{{ attributes.opening_balance }}</p>
</div>
</div>
推荐阅读
- java - Java concurrentHashMap 迭代
- css - 在 css 变量中使用 scss 变量
- php - VSCode PHP Debug - 未定义变量的异常
- react-native - 如何在 react-native-webview 中将动态参数传递给通过 injectJavaScript 调用的函数
- node.js - React - 即使 API 请求发布,获取也无法代理请求
- python - Kivy:错误弱引用对象(在时钟函数中)不再存在
- wordpress - 使用功能编辑器将自定义 URL 添加到 WP All Import
- unity3d - 使用 switch 语句移动字符
- google-classroom - 谷歌课堂:我没有看到任何学生的成绩
- python - 在pySpark中按条件拆分数据帧