vue3+ts给数组里面添加的时候只能添加一次?

image.png

const msgChange = (item:any) => {
  if(formInline.value.msg !== '') {
    dynamicTags.value = [...dynamicTags.value,`msg:"${item}";`]
  }
}

如何判断msg:''这个字符只能在数组里面添加一次,改变的只是value值

阅读 1.7k
1 个回答
//构造一个测试用的数据
const dynamicTags={
  value :['msg1:555', 'item:666', 'id:777']
}



const msgChange  = (item, key) => {
  //用findeIndex,不用map,可以避免构建一个新的数组,直接在原数组上修改
  const index = dynamicTags.value.findIndex(i => i.includes(key));
  if (index >= 0) {
    dynamicTags.value[index] = `msg:${item}`;
  } else {
    dynamicTags.value.push(`msg:${item}`);
  }
  
};
msgChange ('123', 'msg:') //为什么用msg:不用msg,避免误伤其它包含msg的字段
console.log(dynamicTags);
推荐问题
logo
Microsoft
子站问答
访问
宣传栏