@@ -166,19 +166,26 @@ const BasicUnControlledTabPanel: FC<ItemLayoutProps<ChartStyleConfig>> = memo(
166166 onEdit = { handleEdit }
167167 >
168168 { myData . rows ?. map ( ( p , index ) => {
169+ const rowKey = p . key ;
169170 return (
170171 < StyledTabPanel
171- key = { p . key }
172+ key = { rowKey }
172173 tab = {
173174 < EditableTabHeader
174175 editable = { editable }
175176 label = { p . label }
176- onChange = { value => {
177- const newAncerstors = [ index ] ;
178- handleDataChange ( newAncerstors , {
179- ...p ,
180- ...{ label : value } ,
181- } ) ;
177+ rowKey = { rowKey }
178+ onChange = { ( key , value ) => {
179+ const updatedRowIndex = myData . rows ?. findIndex (
180+ r => r . key === key ,
181+ ) ;
182+ if ( updatedRowIndex !== undefined && updatedRowIndex > - 1 ) {
183+ const newAncestors = [ updatedRowIndex ] ;
184+ handleDataChange ( newAncestors , {
185+ ...p ,
186+ ...{ label : value } ,
187+ } ) ;
188+ }
182189 } }
183190 />
184191 }
@@ -195,9 +202,10 @@ const BasicUnControlledTabPanel: FC<ItemLayoutProps<ChartStyleConfig>> = memo(
195202
196203const EditableTabHeader : FC < {
197204 label : string ;
205+ rowKey : string ;
198206 editable ?: Boolean ;
199- onChange : ( value : string ) => void ;
200- } > = memo ( ( { label, editable = true , onChange } ) => {
207+ onChange : ( key : string , value : string ) => void ;
208+ } > = memo ( ( { label, rowKey , editable = true , onChange } ) => {
201209 const [ isEditing , setIsEditing ] = useState ( false ) ;
202210
203211 const render = ( ) => {
@@ -211,7 +219,7 @@ const EditableTabHeader: FC<{
211219 onSearch = { value => {
212220 if ( ! ! value ) {
213221 setIsEditing ( false ) ;
214- onChange ( value ) ;
222+ onChange ( rowKey , value ) ;
215223 }
216224 } }
217225 />
0 commit comments