实在太强了,事情经过就是同样实现一个效果,有一段新代码,还有一段老代码,但是怕新代码有什么遗漏,就让AI去比较,然后给出答案,结果是真的太爽了。
新老代码
老代码:
写着写着把老代码改得面目全非了,其实是无法运行的。
const removeTab = (targetIndex: string) => {
// 如果是删除当前标签,那么在删除该标签后还要激活新标签及其内容
// 如果删除的不是当前标签,那么直接到下一步删除标签即可
if (activeTab.value === targetIndex) {
// 找到删除后应当新激活的标签及其内容
props.tabs.forEach((tab, i) => {
if (tab._id === targetIndex) {
const nextTab = props.tabs[i + 1] || props.tabs[i - 1];
if (nextTab) {
console.log('newTab3:', nextTab);
// 打开新内容,activeTab的值经由openTab()中的currentTab更新后,通过computed监听并修改
openTab?.(nextTab);
}
}
});
}
// 重新整理所有标签(删除tab)
props.tabs.splice(props.tabs.findIndex(tab => tab._id === targetIndex), 1);
};
新代码:
新代码的这个函数仅仅是对数据进行操作,老代码还要用到打开标签等函数
// 删除标签页(根据id删除)
function removeTab(targetId: string | null): TabItem | null {
const index = allTabs.value.findIndex((tab: TabItem) => tab._id === targetId);
if (index !== -1) {
allTabs.value.splice(index, 1);
if (currentTab.value?._id === targetId) {
const nextIndex = Math.max(0, index - 1);
currentTab.value = allTabs.value[nextIndex] || null;
return currentTab.value;
}
}
return null;
}
提问
这个部分请参考原 const removeTab = (targetIndex: string) => { // 如果是删除当前标签,那么在删除该标签后还要激活新标签及其内容 // 如果删除的不是当前标签,那么直接到下一步删除标签即可 if (activeTab.value === targetIndex) { // 找到删除后应当新激活的标签及其内容 props.tabs.forEach((tab, i) => { if (tab._id === targetIndex) { const nextTab = props.tabs[i + 1] || props.tabs[i - 1]; if (nextTab) { console.log(‘newTab3:’, nextTab); // 打开新内容,activeTab的值经由openTab()中的currentTab更新后,通过computed监听并修改 openTab?.(nextTab); } } }); }
// 删除标签页(根据id删除)
function removeTab(targetId: string | null): TabItem | null {
const index = allTabs.value.findIndex((tab: TabItem) => tab._id === targetId);
if (index !== -1) {
allTabs.value.splice(index, 1);
if (currentTab.value?._id === targetId) {
const nextIndex = Math.max(0, index - 1);
currentTab.value = allTabs.value[nextIndex] || null;
return currentTab.value;
}
}
return null;
}
// 重新整理所有标签(删除tab) props.tabs.splice(props.tabs.findIndex(tab => tab._id === targetIndex), 1); };
这段代码,看看效果是否一致?我提供的这个原来的代码现在已经错误百出了,你只要能感觉逻辑结构大致看就行
这种写字标点符号都没有,还和代码混在一起的要求扔给程序员的话,会不会被打????我提问里的你只要能感觉逻辑结构大致看就行
,这句话换我我也想打。
还是扔给AI算了,看看他能不能理解我要的是什么。
结果
好了,我直接截图吧,看看AI的分析流程。
AI找到了最大的不同点,并进行了修改。。。
function removeTab(targetId: string | null): TabItem | null {
const index = allTabs.value.findIndex((tab: TabItem) => tab._id === targetId);
if (index !== -1) {
allTabs.value.splice(index, 1);
if (currentTab.value?._id === targetId) {
const nextIndex = index < allTabs.value.length ? index : Math.max(0, index - 1);
currentTab.value = allTabs.value[nextIndex] || null;
return currentTab.value;
}
}
return null;
}
就问你们方便不方便?
标签:index,直出,AI,标签,value,人工智能,tab,null,id From: https://blog.csdn.net/snans/article/details/143303466