在 Vue Js 中的元素中添加行

Addings Rows in Element In Vue Js

我正在尝试使用 VueJs 中的 Element IO 显示行。我的问题是为什么我的代码没有输出,我如何添加一些行并删除一些行?我的代码有问题吗?我附上了一个 v-for 但它似乎无法工作。抱歉,我是 element-ui 的新手。请看我的代码below.Thank你

<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>

你不需要迭代你自己。 Element-Ui 中的 el-table 组件将数组作为数据属性来工作。参见 Table Props for el-table component in ElementUI

这应该有效:

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

通过向每个 el-table-column

添加 prop='myKey',每个 el-table-column 都必须是您的项目列表中的项目的键

例如,如果我得到一组这样的项目:

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

我会有一个table这样的

<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>

当您要在数组中删除或添加项目时,el-table 的 :data 属性将对更改做出反应。

多看看at element table documentation

您必须将 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>