エディターは本日、スロットに値を渡すためのv-forループの例を作成しました。
<Table :width="contentWidth" :max-height="contentHeight-80" :columns="tableColumns" :data="tableData" border>
<template slot-scope="{ row }" slot="fymc">
<span :class="titleTextClass[row.level-1]">{{ row.fymc }}</span>
</template>
<template slot-scope="{ row,column,index }" :slot="item.slot" v-for="(item,index) in tableColumns.slice(1)">
<InputNumber v-model="tableData[index][column.slot]" v-if="selectedCell.rowIndex === index && selectedCell.columnIndex === column.slot" @keyup.enter.native="initSelectedCell()"/>
<div v-else>
<span>{{ row[item.slot] }}</span>
<i @click="editCellData(row,column,index)" class="iconfont icon-edit table-cell-icon"></i>
</div>
</template>
</Table>
コードの余分な属性を無視して、v-forループとスロットの属性値を確認してください!
ブロガーはこれを使用します:テンプレート多くの人がkey属性を追加せずにv-forを使用すると混乱するだろうと思います。ブロガーが赤を報告したのは本当です。実際にキーを追加すると、直接エラーが発生することがわかります。後の編集者は、v-forではテンプレートにキー属性を表示できないことを示しています。赤の問題!問題が解決した場合は
お知らせください!もちろんこの問題について話しているのではありません:次に、tableColumns配列を参照してください
tableColumns: [{
title: '费用名称',
slot: 'fymc',
width:300
},
{
title: "批复预算金额",
slot: "pfysje"
},
{
title: '预算金额',
slot: 'ysje'
},
{
title: '完成工程量',
slot: 'wcgcl'
},
{
title: '拨付金额',
slot: 'bfje'
}
],```
接下来我逐个给大家解释哈:
v-for里面自然是遍历数组里面的数据这个不多说
:slot:里面放的是上面数组里面的所有slot的属性值
v-model:绑定的是你输入的每个值
(item,index) in tableColumns.slice(1):这边.slice(1)是因为我不想让它编辑我的第一栏,你们根据自己需求修改
特别注意:
row[item.slot]:这边是中括号不是. 你的row里面是没有item属性的,只有item.slot的属性!
其余的自己发挥一下,我这边主要是实现iview的table表格可以编辑的功能!