在做同级子级的表格,需要传一个pathCode分级码,如果是同级分级码就是0001下次增加变成0002以此类推,如果是子级分级码就变成00010001下次增加再次累加, 应该如何处理这种数据,求详细解释
用es6的padStart方法补了0 出来是0002
/**
* 如果需要生成子级,直接给原pathCode尾部增加0001,如果是自增,先获取去除头部0后的数字自增,
* 然后再用0补全到原pathCode的长度,生成新pathCode
* @param {String} pathCode 需要处理的pathCode
* @param {Boolean} isChild 是否是子级
* @returns {String} 处理过后的pathCode
*/
function pathCodeFormat(pathCode, isChild) {
if (isChild) {
return `${pathCode}0001`
} else {
let num = parseInt(pathCode) + 1;
return num.toString().padStart(pathCode.length, '0');
}
};
你加多个子级不应该有添加顺序吗?一般都是0001->00010001->00010002->000010003这种,你就按这种规则看传不传isChild啊。