Все еще учусь Vue, но вкратце, после того, как я выполню data = axiosAjaxResponse, все, что я ввожу в поле формы, не обновляется в v-модели.
У меня есть страница управления, которая передает мою подпорку дочерней странице с такой структурой данных.
data() {
return {
Data: [{
port: [
{
"portId": 11, ...,
schedule: [{ "scheduleId":1, ...
Шаблон дочерней страницы
<b-row>
all port data put into form fields
</b-row>
<b-row v-for="(schedule, index) in growData[0].port[rowIndex].schedules" :key="index">
<b-col>
<b-form-group label="Off Length" :label-for="'offLength' + index">
<b-form-input :id="'offLength' + index" v-model="schedule.offLength" size="sm" trim></b-form-input>
</b-form-group>
</b-col>
</b-row>
<b-row>
<b-col>
<button v-on:click="addSchedule(rowIndex)">update</button>
<button v-on:click="updateData()">update</button>
</b-col>
</b-row>
Лог c
addSchedule(portId){ //add another schedule row
this.Data[0].port[portId].schedules.push({startDateTime: '2020-03-12T00:00:00'})
this.$forceUpdate();
},
async updateData() {
var _this= this;
var d = this.Data[0].port[_this.rowIndex]
const { data } = await _this.$http.put(
'https://localhost:44374/api/Schedule', d,
{headers: {'Content-Type': 'application/json'}}
)
_this.growData[0].port[_this.rowIndex] = data //THIS KILLS ALL INPUTS
this.$forceUpdate();
}
Все работает технически. V-модель (родительский / дочерний и vue плагин) все выглядит правильно после нажатия кнопки обновить. Проблема в том, что все, что я сейчас печатаю в любом из текстовых полей, не обновляет v-модель. Если я обновлю sh страницу, все будет хорошо.
Я попытался использовать только это вместо _this. Я действительно передавал данные через EventBus обратно родителю и обновлял там. Я попытался поместить данные в новый объект и установить его. Ничто, кажется, не имеет значения, и нет никаких ошибок.