layui에서table표reload 후 캐시 문제 해결 방법
1545 단어 layui
//
table.render({
elem: '#mytable',
text: {
none: ' '
},
data:tableDatas,
id: 'reloadParentData',
totalRow:true,//
page: false,//
limit:Number.MAX_VALUE,
defaultToolbar: [], // , :['filter', 'print', 'exports']
done: function(res, curr, count){
},
cols: [[ //
{field: 'goods_name', title: ' ', width:200,fixed:'left'}
,{field: 'goods_number', title: ' ',width:100,fixed:'left'}
]]
});
부모 창의 테이블에서 줄마다 데이터를 삭제할 수 있는 삭제 작업이 있습니다. 여기서 부모 창의 모든 줄의 데이터를 삭제합니다.그리고 레이어를 사용합니다.하위 창을 열고 하위 창에서 부모 창의 데이터를 연결합니다. 마지막으로 하위 창에서 부모 창의reload를 다시 불러옵니다. 이 때 문제가 발생했습니다. 부모 창reload 이후 삭제된 데이터가 다시 불러오는 것을 발견했습니다. 즉, 부모 창에table가 있습니다.cache 속성에 저장된 오래된 데이터의 캐시입니다. 우리는console.log 보기.
해결 방법: 이 이유를 알게 돼서 우리 도모는 다른 사람의 해결 방안을 많이 찾았고 다 해 보았지만 아무 소용이 없었어요.그리고 나서 나는 냉정하게 생각해 보았다. 다른 사람들의 방법은 캐시를 어떻게 제거하는가에 따라 간다. 이 방향이 통하지 않는 이상 다른 방법을 찾아 목적을 달성할 수 있을까?답은 분명히 할 수 있다. 해결 방법은 사실 매우 간단하다. 하위 창에서 부모 창의reload를 조작할 때done에 코드 한 줄만 넣으면 문제가 해결된다. 구체적으로는 아래 코드와 같다.
// table
parent.table.reload('reloadParentData', {
data: datas,
done: function(res, curr, count){
this.data = datas; // , bug
},
});
주: 데이터는 하위 창에서 연결된 부모 창의 데이터입니다.
한 줄만this.data = datas;문제 해결.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
layui의 select 연동공식 커뮤니티에서 찾은 방법은 다음과 같다. 이런 코드 편집기를 뱉어라, 조판은 똥과 같다!...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.