ant-desgin的table的上移、下移

文章目录

    • html部分
    • 函数部分

html部分

<a-table :columns="columns" :data-source="dataList" :loading="listLoading" :pagination="false">
  <template #bodyCell="{ column, record, index }">
    <template v-if="column.key === 'action'">
      <span class="space-x-4">
        <a-button type="link" @click="up(index, record.id)">上移</a-button>
        <a-button type="link" @click="down(index, record.id)">下移</a-button>
      </span>
    </template>
  </template>
</a-table>

函数部分

dataList 是table的接口返回数据
用这个纯前端的操作,可以实现无感操作,然后调接口,保存上下移的结果到数据库

// 上移判断
const up = (index,id) => {
  if (index > 0) {
    const temp = dataList.value[index - 1]
    dataList.value[index - 1] = dataList.value[index]
    dataList.value[index] = temp
    // 调后台接口,保存上移的结果,‘1’表示上移类型
    ResourceMove(id, '1').then((res) => {
      message.success(res.msg)
    })
  }
  else {
    message.warning('已经是第一条数据,不可上移')
  }
}
// 下移判断
const down = (index,id) => {
  if (index === dataList.value.length - 1) {
    message.warning('已经是最后一条数据了,不可下移')
  }
  else {
    const temp = dataList.value[index + 1]
    dataList.value[index + 1] = dataList.value[index]
    dataList.value[index] = temp
     // 调后台接口,保存下移的结果,‘2’表示下移类型
    ResourceMove(id, '1').then((res) => {
      message.success(res.msg)
    })
  }
}

结果:
下移效果:
在这里插入图片描述
被下移了
在这里插入图片描述

你可能感兴趣的:(javascript)