@Tikit

Как в el-table вставить нужный мне id, для перехода на страницы?

Как в el-table вставить нужный мне id, для перехода на страницы. В обычных таблицах я использую "vue-router", но здесь не получается, выдаёт ошибку. Попробовал другим путём, повесил на кнопку такой метод:

handleEdit(row){
            return this.$router.push({
                path:'/protocol_information/:id/edit/',
                params:{
                    id:row.id
                }
            })
        },

И я перехожу по этому пути "/protocol_information/:id/edit/", а мне надо в этот :id, вставить "id" который я должен получить из той строки, с которой я пытаюсь перейти на другую страницу.

<template>
    <el-table :data="TableData" style="width: 100%">
        <el-table-column prop="id" label="№ ID" width="180" />
        <el-table-column prop="num_contract_reg" label="№ договора" width="240" />
        <el-table-column prop="name_organization_reg" label="Название организации" width="240" />
        <el-table-column label="Operations">
            <template #default="scope">
                <el-button size="small" @click="handleEdit(scope.$index, scope.row)">Edit</el-button>
            </template>
        </el-table-column>
    </el-table>
</template>

<script>
export default {
    name: "SpisokLabelsComponent",
    data(){
        return{
            TableData: null,
        }
    },
    mounted() {
        this.getPoluhenie()
    },
    methods: {
        getPoluhenie(){
            axios.get('/api/protocolsbd', {
                })
                .then(res => {
                    this.TableData = res.data.data;
                    console.log(res)
                })
        },
        handleEdit(row){
            return this.$router.push({
                path:'/protocol_information/:id/edit/',
                params:{
                    id:row.id
                }
            })
        },
    }
}
</script>
  • Вопрос задан
  • 123 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
handleEdit(row){

@click="handleEdit(scope.$index, scope.row)"

Сколько параметров получает метод handleEdit? А сколько передаёте ему в обработчике клика? Устраните это печальное несоответствие.

path:'/protocol_information/:id/edit/',
params:{
    id:row.id
}

Вместо path должен быть name. Конечно, если таковой указан при определении маршрута.

Или, вырезаете params и вставляете нужный id сразу в строку:

path: `/protocol_information/${row.id}/edit/`,
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы