ts代码
父组件
<resource-view :resourceList="formInline.resourceList" ref="resourceRef"></resource-view>
子组件
resourceList.value 是列表里的数据
//抛出方法
const checkFuc = () => {
传列表值过去
return { data: resourceList.value };
};
defineExpose({
checkFuc
});
保存的操作
let ipData = resourcesRef.value.checkFuc();
let regObj = false;
ipData.data.forEach((item: any) => {
if (item.ipAddr) {
let reg = checkIp(item.ipAddr);
if (reg) {
regObj = true;
}
}
});
if (regObj) {
ElMessage.error({ message: "请输入正确的IP地址" });
resolve(false);
return;
}
ip方法
const checkIp = (ip: any) => {
let arr = ip.split(",");
let flag = false;
if (arr.length == 1) {
flag = checkIp2(ip);
} else {
for (let i = 0; i < arr.length; i++) {
if (checkIp2(arr[i])) {
flag = true;
break;
}
}
}
return flag;
};
const checkIp2 = (ip: any) => {
let arr = ip.split("-");
let reg =
!/^(?:(?:1[0-9][0-9]\.)|(?:2[0-4][0-9]\.)|(?:25[0-5]\.)|(?:[1-9][0-9]\.)|(?:[0-9]\.)){3}(?:(?:1[0-9][0-9])|(?:2[0-4][0-9])|(?:25[0-5])|(?:[1-9][0-9])|(?:[0-9]))$/.test(
arr[0]
);
return reg;
};