View 内容如下:
内容跟 Day09 / Day12 差不多,主要是 js 多了 ajax 的处理 !
<div id="app" v-cloak>
<form autocomplete="off"
v-on:submit.prevent="submit_form">
<p>
<label for="OrderDate">订单日期:</label>
<input type="date"
v-model="vue_model.OrderDate"
id="OrderDate" />
</p>
<div>
<label>订单项目</label>
<table>
<thead>
<tr>
<th>
<label>名称</label>
</th>
<th>
<label>数量</label>
</th>
</tr>
</thead>
<tbody>
<tr v-for="(item, index) in vue_model.Items"
v-bind:key="index">
<td>
<input type="text"
v-model="item.Name" />
</td>
<td>
<input type="number"
step=1
min=0
v-model="item.Quantity" />
</td>
</tr>
</tbody>
</table>
</div>
<p>
<button type="submit">送出</button>
</p>
</form>
<p>
<a v-bind:href="prev_url">回上一层</a>
</p>
</div>
@section Scripts
{
<script>
const app = createApp({
setup(){
const post_url = '@Url.Action("PostCase01")';
const prev_url = '@Url.Action("Index")';
const vue_model = reactive(@Html.Raw(Model.ToJson()));
const submit_form = function() {
fetch(post_url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(vue_model),
})
.then(response => response.json())
.then(data => {
vue_model.OrderDate = data?.OrderDate?.split('T')[0];
vue_model.Items = data?.Items;
});
}
return {
post_url,
prev_url,
vue_model,
submit_form,
}
}
});
const vm = app.mount('#app');
</script>
}
这篇先到这里,下一篇来看 动态 新增/删除 Collection 项目
!
>>: D14 重新设定create date & 上传功能测试
因为之後想花一点时间分享一下 Transformer 阅读跟实作的经验,所以这篇就没写 Trans...
在上一篇辛辛苦苦地完成了专案前置准备 并写好新增功能的api呼叫(透过POST方式) 现在资料库中有...
唉呀,今天再一篇v-for,不知道v-for分两篇会不会觉得太灌水,但我还是分两篇了✧*。٩(ˊᗜˋ...
之前我们连线的,一直都是测试用的资料库。 今天我们来练线 MySQL 资料库来进行操作。 连线MyS...
首先资料库结构必须让UI有办法弹性设定 所以设计方式可参考看看 Sequence_TBL 编码规则 ...