<el-table
:key="tableKey"
v-loading="tableLoading"
:data="tableData"
fit
stripe
highlight-current-row
style="width: 100%"
:row-key="getRowKeys"
@selection-change="handleSelectionChange"
>
<el-table-column
type="selection"
width="50"
:reserve-selection="true"
:selectable="selectable"
></el-table-column>
<el-table-column
label="操作"
align="center"
width="140px"
fixed="right"
class-name="small-padding fixed-width"
>
<el-button
:disabled="row.disabled"
type="text"
size="mini"
@click="toSelected(row.teamId, row.teamName)"
>选择</el-button
>
</template>
</el-table-column>
</el-table>
js
getRowKeys(row) {
return row.teamId;
},
selectable(row) {
const selectableData = [...this.selectableData1];
selectableData.map((item) => {
if (item.teamId === row.teamId) {
row.disabled = true;
} else {
item.disabled = false;
}
});
if (
selectableData.some((item) => {
return item.teamId === row.teamId;
})
) {
return false;
} else {
return true;
}
},