【发布时间】:2023-03-28 18:00:01
【问题描述】:
我已经能够为不同的输入创建值,但是如果我在页面上进行更改,它会在表单中正确显示,但是当我使用开发人员工具并检查更改是否在那里更新时,它不会更新。我尝试了各种方法来 v-bind:value 或 v-model 但它没有反应。我希望它能够做出反应,这样我就不必去每个输入并获取更新的值,我可以调用使用更新值创建的数组。不知道我错过了什么。
<ul>
<li v-for="item in finditem()" v-if="item.html == 0">
<label v-bind:for="item.item">{{ item.item }}</label>
<div v-bind:id="item.item">{{ item.result }}</div>
</li>
<li v-else-if="item.html == 1">
<label v-bind:for="item.item">{{ item.item }}</label>
<input type="text"v-model="item.result" />$
</li>
<li v-else-if="item.html == 2">
<label v-bind:for="item.item">{{ item.item }}</label>
<input type="checkbox" v-bind:id="item.item" v-bind:id="item.item" v-bind:value="item.result" />
</li>
<li v-else-if="item.html == 3">
<label v-bind:for="item.item">{{ item.item }}</label>
<select v-bind:id="item.item">
<option v-for="drop in item.dropdown">{{ drop.Value }}</option>
</select>
</li>
</ul>
var vm = new Vue({
el: '#components-demo',
data: {
todos: [
newData
]
},
methods: {
finditem() {
var setarray = [];
var result = Object.keys(newData).map(function (key) {
return [key, newData[key]];
});
var travelModeId = '';
$(result).each(function (i, value) {
var getValue = value[0];
// No Input
if (getValue == "Reservation" || getValue == "LastUpdatedBy" || getValue == "LastUpdated") {
var first = value[0];
var second = value[1];
var htmlId = 0;
setarray.push({ item: first, result: second, html: htmlId });
}
// Text Input
if (getValue == "Fare" || getValue == "AgentFee" || getValue == "ChangeFee" || getValue == "NteAmount" || getValue == "GsaRate" || getValue == "ClientApprovedAmount" || getValue == "CancelledDate") {
var first = value[0];
var second = value[1];
var htmlId = 1;
setarray.push({ item: first, result: second, html: htmlId });
}
// Checkbox
if (getValue == "Ground" || getValue == "NoGsa") {
var first = value[0];
var second = value[1];
var htmlId = 2;
setarray.push({ item: first, result: second, html: htmlId });
}
// Select
if (getValue == "TravelModeId") {
travelModeId = value[1];
}
// Select Dropdown
if (getValue == "TravelModeDropdown") {
var first = "Travel Mode";
var second = value[1];
var htmlId = 3;
setarray.push({ item: first, result: travelModeId, html: htmlId, dropdown: second });
}
});
return setarray;
}
}
【问题讨论】:
-
请提供像this这样的运行代码或小提琴,以便轻松调试
-
用小提琴更新了
标签: vue.js vuejs2 computed-properties