Добавление строк в элементе в Vue Js - PullRequest
0 голосов
/ 21 сентября 2018

Я пытаюсь отобразить строки с помощью Element IO в VueJs.Моя проблема в том, почему мой код не выводится и как я могу добавить несколько строк и удалить некоторые строки?Что-то не так с моим кодом?Я прикрепил v-for, но кажется, что он не может работать.Извините, я новичок в element-ui.Пожалуйста, смотрите мой код ниже. Спасибо.

<template>
    <div>

        <el-form>
            <el-table v-for='(item, index) in items' :key='index'>

                    <el-table-column
                            sortable="true"
                            label="Item">
              <template>
                 <el-input v-model="item.item_id"></el-input>
              </template>
                    </el-table-column>

                    <el-table-column
                            sortable="true"
                            label="Quantity">
                            <template>
                 <el-input v-model="item.quantity"></el-input>
              </template>
                    </el-table-column>

                    <el-table-column
                            sortable="true"
                            label="Unit">
                            <template>
                 <el-input v-model="item.quantity"></el-input>
              </template>
                    </el-table-column>

                    <el-table-column
                            sortable="true"
                            label="Unit Price">
                            <template>
                 <el-input v-model="item.unit_price"></el-input>
              </template>
                    </el-table-column>

                    <el-table-column
                            fixed="right"
                            property="action"
                            label="Action">
                            <template>
                                    <el-button type="danger" size="small">Remove</el-button>
                            </template>
                    </el-table-column>

            </el-table>
            <br>
            <el-form-item style="float:right;">
                <el-button type="submit" @click.prevent="createNewPurchaseOrder">Create</el-button>
                <el-button>Cancel</el-button>
            </el-form-item>
        </el-form>
    </div>
</template>

<script>
export default {
  data () {
    return {
      items: [
        {
          item_id: '1',
          quantity: '8',
          unit_id: 'Gram',
          unit_price: '100'
        }
      ]
    }
  },
  methods: {
    createNewPurchaseOrder () {
      console.log(this.$data)
    }
  }
}
</script>

Ответы [ 2 ]

0 голосов
/ 21 сентября 2018

Посмотрите больше на документацию таблицы элементов

Необходимо передать свойство data el-table и свойство prop el-table-column

<template>
<div>

    <el-form>
        <el-table :data="items" :key='index'>

          [...]
        </el-table>
        <br>
        <el-form-item style="float:right;">
            <el-button type="submit" @click.prevent="createNewPurchaseOrder">Create</el-button>
            <el-button>Cancel</el-button>
        </el-form-item>
    </el-form>
</div>

0 голосов
/ 21 сентября 2018

Вам не нужно повторять себя.Компонент el-table от Element-Ui принимает массив в качестве реквизита данных для работы.См. Table Props для компонента el-table в ElementUI

Это должно работать:

<el-table :data="items">
  ...
</el-table>

Каждый el-table-column должен быть ключом вашего элемента в списке элементовдобавив prop='myKey' к каждому el-table-column

Например, если я получу массив таких элементов:

[{
  id : 12,
  firstname : "John",
  lastname : "Doe"
}]

У меня будет такая таблица

<el-table :data="items">
  <el-table-column prop="id" label="ID">...</el-table-column>
  <el-table-column prop="firstname" label="Firstname">...</el-table-column>
  <el-table-column prop="lastname " label="Lastname">...</el-table-column>
</el-table>

Когда вы удалите или добавите элемент в ваш массив, реквизиты: data el-table будут реагировать на изменения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...