@@ -264,10 +264,10 @@ class CTable extends Component {
264264 /**
265265 * 初始化已选数据、高度等
266266 */
267- init = ( ) => {
267+ init = ( checkedData ) => {
268268 this . leafNodesMap = this . getLeafNodesMap ( this . state . data ) ;
269- this . setCheckedData ( ) ;
270- this . updateSelectedNodes ( ) ;
269+ this . setCheckedData ( checkedData ) ;
270+ this . updateSelectedNodes ( ( ) => { } , checkedData ) ;
271271
272272 this . column . setColumnData ( ) ;
273273
@@ -495,7 +495,7 @@ class CTable extends Component {
495495 * 更新已选数据列表
496496 * @param onCheckedAfter
497497 */
498- updateSelectedNodes = ( onCheckedAfter = ( ) => { } ) => {
498+ updateSelectedNodes = ( onCheckedAfter = ( ) => { } , _checkedData ) => {
499499 const selectedNodeList = [ ] ;
500500 const { leafNodesMap } = this ;
501501 Object . keys ( leafNodesMap ) . forEach ( ( key ) => {
@@ -510,7 +510,7 @@ class CTable extends Component {
510510 }
511511 } else {
512512 // 叶子节点无法获取到的情况(可能已选节点不在当前页)
513- const checkedData = this . props . checkedData . find (
513+ const checkedData = ( _checkedData || this . props . checkedData ) . find (
514514 ( node ) => this . getKeyFieldVal ( node ) === leafNodesMap [ key ] ,
515515 ) ;
516516 if ( checkedData ) {
@@ -524,9 +524,9 @@ class CTable extends Component {
524524 /**
525525 * 已选数据回显
526526 */
527- setCheckedData = ( ) => {
527+ setCheckedData = ( checkedData ) => {
528528 // 更新叶子节点 leafNodesMap 的选中状态
529- this . props . checkedData ?. forEach ( ( cNode ) => {
529+ ( checkedData || this . props . checkedData ) ?. forEach ( ( cNode ) => {
530530 const cNodeVal = this . getKeyFieldVal ( cNode ) ;
531531 if ( this . leafNodesMap [ cNodeVal ] ) {
532532 this . leafNodesMap [ cNodeVal ] ?. childNodes ?. forEach ( ( node ) => {
@@ -539,7 +539,7 @@ class CTable extends Component {
539539 } ) ;
540540 const leafNodeKeys = Object . keys ( this . leafNodesMap ) ;
541541 leafNodeKeys . forEach ( ( key ) => {
542- const isCheckedNode = ! ! this . props ?. checkedData . find (
542+ const isCheckedNode = ! ! ( checkedData || this . props ?. checkedData ) . find (
543543 ( node ) => String ( this . getKeyFieldVal ( node ) ) === String ( key ) ,
544544 ) ;
545545 // 不是已选节点 && (没有子节点被选中 或者 全部子节点都被选中)
0 commit comments