答案很简单,您只需要获得HTML格式的数据
<TextField
onPaste={(e) => {
setAutoFillPatternString(e.clipboardData.getData('text/html'));
}}
error={autoFillPatternError.length > 0}
helperText={autoFillPatternError}
autoFocus
multiline
required
value={autoFillPatternString}
margin="dense"
label="Ctrl + V"
fullWidth
variant="standard"
/>
然后只需从表中获取值
function validatorDataString(countRows: number, dataString: string) {
const resultDataForms: string[] = [];
let validation: boolean;
const table = new DOMParser().parseFromString(dataString, 'text/html');
if (!table.body.getElementsByTagName('table')[0]) {
validation = false;
resultDataForms.push('error result copy data');
return { validation, resultDataForms };
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
Array.from(table.body.getElementsByTagName('table')[0].rows[0].children).forEach((tdItem: any) => {
resultDataForms.push(tdItem.innerText);
});
validation = countRows === resultDataForms.length;
return { validation, resultDataForms };
}