我正在try 从数组中删除前一个和下一个链接.使用的是三个惯量.

const splicedlinks = computed(() => {
    let prevIndex = props.links.meta.links
        .map((link) => link.label)
        .indexOf("« Previous");
    let nextIndex = props.links.meta.links
        .map((link) => link.label)
        .indexOf("Next »");

    props.links.meta.links.splice(prevIndex, 1);
    props.links.meta.links.splice(nextIndex, 1);

    return props.links.meta.links;
});

在这段代码中,我只删除了"上一个",而没有删除"下一个".

navigation image

我的代码出了什么问题?

我解释了我所做的try .

推荐答案

因为"Next"元素的索引在第一次使用"拼接"之后发生了更改.

JS数组拼接方法影响源array.因此,用Splice方法删除一个元素后,找到的元素索引并不相关.

删除一个元素后,应该找到"nextIndex".

Try this:

const splicedlinks = computed(() => {
    let prevIndex = props.links.meta.links
        .map((link) => link.label)
        .indexOf("« Previous");

    // Remove "Previous" button
    props.links.meta.links.splice(prevIndex, 1);

    // After "Previous" button deleting find index of "Next" button
    let nextIndex = props.links.meta.links
        .map((link) => link.label)
        .indexOf("Next »");
    
    // Remove "Next" button
    props.links.meta.links.splice(nextIndex, 1);

    return props.links.meta.links;
});

此外,您还可以通过使用"findIndex"方法而不是indexOf来简化代码

Example:

let nextIndex = props.links.meta.links?.findIndex((link) => link.label === "Next »");

Laravel相关问答推荐

从8.0更新到10.0后,图像不再上传到存储

未将Laravel Blade属性传递给组件或类

Laravel Eloquent查询与集合优化

如何让 Laravel 的 Collection 表现得像一个流?

如何使用 laravel 更新单个值

运行Docker时,安装PHP8.1时返回错误

如何保存/重定向 Laravel Artisan 命令的输出?

处理程序类中的错误 - Laravel

如何防止 Laravel 路由被直接访问(即非 ajax 请求)

Laravel 4 如何监听模型事件?

如果用户在 Laravel 中经过身份验证,如何签入 Vue 组件?

Homestead 2.0 多个站点,都链接到同一个 url

laravel 中的 Http Post 使用 fetch api 给出 TokenMismatchException

Laravel Eloquent Pluck 不丢失密钥

将 Laravel .env 变量添加到 Vue 组件

Laravel Eloquent 在子查询中有两个WHERE NOT IN

如何将Carbon 转换为字符串,只取日期?

laravel 搜索多个以空格分隔的单词

Laravel - DecryptException:'MAC 无效'

Distinct values with pluck