Bootstrap Vue - передача данных карты в качестве полезной нагрузки - PullRequest
0 голосов
/ 18 декабря 2018

Существует ли аналогичный способ передачи данных карточки, например rowData, при использовании начальной загрузки vue?

Я использую эту функцию для фиксации данных карточки в состояние, и она, похоже, не работает.Я использую аналогичный метод для передачи rowData, и он отлично работает.

КАРТА ДАННЫХ

Действие ...

setCard: function ({commit}, cardData) {
  commit('setCardToState', cardData)
}

Мутация ...

setCardToState (state, cardData) {
  state.addeditinitiative.name = cardData.name
  state.addeditinitiative.description = cardData.description
  state.addeditinitiative.id = cardData.id
},

Шаблон

<b-card v-for="initiative in initiatives" v-b-modal.NewInitiativeModal @click="setCard">
        {{initiative.name}}
      </b-card>

ROW DATA

Шаблон

<b-table striped
             hover
             responsive
             :items="products"
             :fields="fields"
             :filter="reportFilter"
             :current-page="currentPage"
             :per-page="10"
             v-b-modal.EditProductModal
             @row-clicked="setRow"></b-table>
  </b-row>

Действие

 setRow: function ({commit}, rowData) {
  commit('setRowToState', rowData)
},

Мутация

setRowToState (state, rowData) {
  state.addeditproduct.name = rowData.name
  state.addeditproduct.productline = rowData.productline
  state.addeditproduct.description = rowData.description
  state.addeditproduct.externalid = rowData.externalid
  state.addeditproduct.active = rowData.active
  state.addeditproduct.id = rowData.id
},

1 Ответ

0 голосов
/ 18 декабря 2018

Это может быть проблема реактивности Vue.Вы можете использовать deepCopy (например: JSON.parse(JSON.stringify()), чтобы сделать его реактивным

setCardToState (state, cardData) {
  state.addeditinitiative.name = cardData.name
  state.addeditinitiative.description = cardData.description
  state.addeditinitiative.id = cardData.id
  state.addeditinitiative = JSON.parse(JSON.stringify(state.addeditinitiative))
}

Кстати, вы должны добавить :key при использовании v-for

<b-card v-for="(initiative, index) in initiatives" :key="index" v-b-modal.NewInitiativeModal @click="setCard">
        {{initiative.name}}
</b-card>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...