@beppla/tapas-ui 1.4.10 → 1.4.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -67,6 +67,7 @@ const LineChart = ({
67
67
  showDots = true,
68
68
  yAxisFormat,
69
69
  xAxisFormat,
70
+ onLineClick,
70
71
  contentInset = {
71
72
  top: 20,
72
73
  bottom: 20,
@@ -216,19 +217,42 @@ const LineChart = ({
216
217
  verticalAlign: legendPosition === 'top' || legendPosition === 'bottom' ? legendPosition : 'top',
217
218
  align: legendPosition === 'left' || legendPosition === 'right' ? legendPosition : 'center',
218
219
  content: renderLegend
219
- }), seriesKeys.map((key, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(Line, {
220
- type: curveType,
221
- dataKey: key,
222
- stroke: lineColors[index % lineColors.length],
223
- strokeWidth: 2,
224
- dot: showDots ? {
225
- fill: lineColors[index % lineColors.length],
226
- r: 4
227
- } : false,
228
- activeDot: showDots ? {
229
- r: 6
230
- } : false
231
- }, key))]
220
+ }), seriesKeys.map((key, index) => {
221
+ const handleClick = clickData => {
222
+ if (onLineClick && clickData) {
223
+ // 找到原始数据索引
224
+ const dataIndex = chartData.findIndex(item => item.name === clickData.name);
225
+ if (dataIndex >= 0) {
226
+ if (isMultiSeries) {
227
+ const series = data[index];
228
+ const originalDataPoint = series?.data?.[dataIndex];
229
+ if (originalDataPoint) {
230
+ onLineClick(key, originalDataPoint, dataIndex);
231
+ }
232
+ } else {
233
+ const originalDataPoint = data[dataIndex];
234
+ if (originalDataPoint) {
235
+ onLineClick(key, originalDataPoint, dataIndex);
236
+ }
237
+ }
238
+ }
239
+ }
240
+ };
241
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Line, {
242
+ type: curveType,
243
+ dataKey: key,
244
+ stroke: lineColors[index % lineColors.length],
245
+ strokeWidth: 2,
246
+ dot: showDots ? {
247
+ fill: lineColors[index % lineColors.length],
248
+ r: 4
249
+ } : false,
250
+ activeDot: showDots ? {
251
+ r: 6
252
+ } : false,
253
+ onClick: handleClick
254
+ }, key);
255
+ })]
232
256
  });
233
257
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
234
258
  style: [styles.container, {
@@ -262,17 +286,39 @@ const LineChart = ({
262
286
  const Decorator = ({
263
287
  x,
264
288
  y,
265
- data
289
+ data: chartValues
266
290
  }) => {
267
291
  if (!showDots || !Circle) return null;
268
- return data.map((value, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(Circle, {
269
- cx: x(index),
270
- cy: y(value),
271
- r: 4,
272
- stroke: color,
273
- fill: "white",
274
- strokeWidth: 2
275
- }, index));
292
+ return chartValues.map((value, index) => {
293
+ const handlePress = () => {
294
+ if (onLineClick) {
295
+ let originalDataPoint;
296
+ let seriesLabel;
297
+ if (isMultiSeries) {
298
+ const firstSeries = data[0];
299
+ originalDataPoint = firstSeries?.data?.[index] || {
300
+ value
301
+ };
302
+ seriesLabel = firstSeries?.label || 'Series 1';
303
+ } else {
304
+ originalDataPoint = data[index] || {
305
+ value
306
+ };
307
+ seriesLabel = 'value';
308
+ }
309
+ onLineClick(seriesLabel, originalDataPoint, index);
310
+ }
311
+ };
312
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Circle, {
313
+ cx: x(index),
314
+ cy: y(value),
315
+ r: 4,
316
+ stroke: color,
317
+ fill: "white",
318
+ strokeWidth: 2,
319
+ onPress: handlePress
320
+ }, index);
321
+ });
276
322
  };
277
323
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
278
324
  style: [styles.container, {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_Text","_jsxRuntime","e","__esModule","default","RNLineChart","Grid","RNXAxis","Circle","RechartsLine","Line","RechartsXAxis","RechartsYAxis","CartesianGrid","Tooltip","Legend","ResponsiveContainer","Platform","OS","recharts","LineChart","XAxis","YAxis","console","warn","svgCharts","svg","data","width","height","color","colors","showGrid","showLabels","showXAxis","showYAxis","showLegend","legendPosition","legendIconType","legendIconSize","legendTextStyle","fontFamily","fontSize","fontWeight","letterSpacing","curveType","showDots","yAxisFormat","xAxisFormat","contentInset","top","bottom","left","right","style","testID","isMultiSeries","Array","isArray","length","jsx","View","styles","container","children","emptyText","chartData","seriesKeys","series","map","s","i","label","maxLength","Math","max","point","name","forEach","sIndex","value","push","item","index","lineColors","renderLegend","props","payload","display","flexWrap","gap","justifyContent","padding","entry","iconStyle","marginRight","verticalAlign","backgroundColor","borderRadius","size","jsxs","alignItems","lineHeight","ChartComponent","margin","strokeDasharray","stroke","dataKey","tickFormatter","contentStyle","border","align","content","key","type","strokeWidth","dot","fill","r","activeDot","d","Decorator","x","y","cx","cy","chartWrapper","flex","gridMin","xAxis","formatLabel","toString","exports","StyleSheet","create","marginHorizontal","textAlign","marginTop"],"sourceRoot":"../../../components","sources":["LineChart/LineChart.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_Text","_jsxRuntime","e","__esModule","default","RNLineChart","Grid","RNXAxis","Circle","RechartsLine","Line","RechartsXAxis","RechartsYAxis","CartesianGrid","Tooltip","Legend","ResponsiveContainer","Platform","OS","recharts","LineChart","XAxis","YAxis","console","warn","svgCharts","svg","data","width","height","color","colors","showGrid","showLabels","showXAxis","showYAxis","showLegend","legendPosition","legendIconType","legendIconSize","legendTextStyle","fontFamily","fontSize","fontWeight","letterSpacing","curveType","showDots","yAxisFormat","xAxisFormat","onLineClick","contentInset","top","bottom","left","right","style","testID","isMultiSeries","Array","isArray","length","jsx","View","styles","container","children","emptyText","chartData","seriesKeys","series","map","s","i","label","maxLength","Math","max","point","name","forEach","sIndex","value","push","item","index","lineColors","renderLegend","props","payload","display","flexWrap","gap","justifyContent","padding","entry","iconStyle","marginRight","verticalAlign","backgroundColor","borderRadius","size","jsxs","alignItems","lineHeight","ChartComponent","margin","strokeDasharray","stroke","dataKey","tickFormatter","contentStyle","border","align","content","key","handleClick","clickData","dataIndex","findIndex","originalDataPoint","type","strokeWidth","dot","fill","r","activeDot","onClick","d","Decorator","x","y","chartValues","handlePress","seriesLabel","firstSeries","cx","cy","onPress","chartWrapper","flex","gridMin","xAxis","formatLabel","toString","exports","StyleSheet","create","marginHorizontal","textAlign","marginTop"],"sourceRoot":"../../../components","sources":["LineChart/LineChart.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAgC,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhC;AACA,IAAIG,WAAgB,EAAEC,IAAS,EAAEC,OAAY,EAAEC,MAAW;AAC1D,IAAIC,YAAiB,EAAEC,IAAS,EAAEC,aAAkB,EAAEC,aAAkB,EAAEC,aAAkB,EAAEC,OAAY,EAAEC,MAAW,EAAEC,mBAAwB;AAEjJ,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;EACzB;EACA,IAAI;IACF,MAAMC,QAAQ,GAAGrB,OAAO,CAAC,UAAU,CAAC;IACpCW,YAAY,GAAGU,QAAQ,CAACC,SAAS;IACjCV,IAAI,GAAGS,QAAQ,CAACT,IAAI;IACpBC,aAAa,GAAGQ,QAAQ,CAACE,KAAK;IAC9BT,aAAa,GAAGO,QAAQ,CAACG,KAAK;IAC9BT,aAAa,GAAGM,QAAQ,CAACN,aAAa;IACtCC,OAAO,GAAGK,QAAQ,CAACL,OAAO;IAC1BC,MAAM,GAAGI,QAAQ,CAACJ,MAAM;IACxBC,mBAAmB,GAAGG,QAAQ,CAACH,mBAAmB;EACpD,CAAC,CAAC,OAAOd,CAAC,EAAE;IACVqB,OAAO,CAACC,IAAI,CAAC,gCAAgC,CAAC;EAChD;AACF,CAAC,MAAM;EACL;EACA,IAAI;IACF,MAAMC,SAAS,GAAG3B,OAAO,CAAC,yBAAyB,CAAC;IACpD,MAAM4B,GAAG,GAAG5B,OAAO,CAAC,kBAAkB,CAAC;IACvCO,WAAW,GAAGoB,SAAS,CAACL,SAAS;IACjCd,IAAI,GAAGmB,SAAS,CAACnB,IAAI;IACrBC,OAAO,GAAGkB,SAAS,CAACJ,KAAK;IACzBb,MAAM,GAAGkB,GAAG,CAAClB,MAAM;EACrB,CAAC,CAAC,OAAON,CAAC,EAAE;IACVqB,OAAO,CAACC,IAAI,CAAC,uCAAuC,CAAC;EACvD;AACF;AAiDO,MAAMJ,SAAmC,GAAGA,CAAC;EAClDO,IAAI;EACJC,KAAK;EACLC,MAAM,GAAG,GAAG;EACZC,KAAK,GAAG,SAAS;EACjBC,MAAM;EACNC,QAAQ,GAAG,IAAI;EACfC,UAAU,GAAG,IAAI;EACjBC,SAAS,GAAG,IAAI;EAChBC,SAAS,GAAG,IAAI;EAChBC,UAAU,GAAG,IAAI;EACjBC,cAAc,GAAG,QAAQ;EACzBC,cAAc,GAAG,MAAM;EACvBC,cAAc,GAAG;IAAEX,KAAK,EAAE,EAAE;IAAEC,MAAM,EAAE;EAAE,CAAC;EACzCW,eAAe,GAAG;IAChBC,UAAU,EAAE,iCAAiC;IAC7CC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,GAAG;IACfC,aAAa,EAAE;EACjB,CAAC;EACDC,SAAS,GAAG,UAAU;EACtBC,QAAQ,GAAG,IAAI;EACfC,WAAW;EACXC,WAAW;EACXC,WAAW;EACXC,YAAY,GAAG;IAAEC,GAAG,EAAE,EAAE;IAAEC,MAAM,EAAE,EAAE;IAAEC,IAAI,EAAE,EAAE;IAAEC,KAAK,EAAE;EAAG,CAAC;EAC3DC,KAAK;EACLC;AACF,CAAC,KAAK;EACJ;EACA,MAAMC,aAAa,GAAGC,KAAK,CAACC,OAAO,CAAChC,IAAI,CAAC,IAAIA,IAAI,CAACiC,MAAM,GAAG,CAAC,IAAIjC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,IAAIA,IAAI,CAAC,CAAC,CAAC;EAE5F,IAAI,CAAC8B,aAAa,KAAK,CAACC,KAAK,CAACC,OAAO,CAAChC,IAAI,CAAC,IAAIA,IAAI,CAACiC,MAAM,KAAK,CAAC,CAAC,EAAE;IACjE,oBACE,IAAA3D,WAAA,CAAA4D,GAAA,EAAC9D,YAAA,CAAA+D,IAAI;MAACP,KAAK,EAAE,CAACQ,MAAM,CAACC,SAAS,EAAE;QAAEnC;MAAO,CAAC,EAAE0B,KAAK,CAAE;MAAAU,QAAA,eACjD,IAAAhE,WAAA,CAAA4D,GAAA,EAAC7D,KAAA,CAAAI,OAAI;QAACmD,KAAK,EAAEQ,MAAM,CAACG,SAAU;QAAAD,QAAA,EAAC;MAAiB,CAAM;IAAC,CACnD,CAAC;EAEX;;EAEA;EACA,IAAIhD,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAIT,YAAY,EAAE;IACzC,IAAI0D,SAAgB,GAAG,EAAE;IACzB,IAAIC,UAAoB,GAAG,EAAE;IAE7B,IAAIX,aAAa,EAAE;MACjB;MACA,MAAMY,MAAM,GAAG1C,IAA6B;MAC5CyC,UAAU,GAAGC,MAAM,CAACC,GAAG,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,KAAK,IAAI,UAAUD,CAAC,GAAG,CAAC,EAAE,CAAC;;MAE/D;MACA,MAAME,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,GAAGP,MAAM,CAACC,GAAG,CAACC,CAAC,IAAIA,CAAC,CAAC5C,IAAI,EAAEiC,MAAM,IAAI,CAAC,CAAC,CAAC;MACnE,KAAK,IAAIY,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGE,SAAS,EAAEF,CAAC,EAAE,EAAE;QAClC,MAAMK,KAAU,GAAG;UAAEC,IAAI,EAAET,MAAM,CAAC,CAAC,CAAC,EAAE1C,IAAI,GAAG6C,CAAC,CAAC,EAAEC,KAAK,IAAI,SAASD,CAAC,GAAG,CAAC;QAAG,CAAC;QAC5EH,MAAM,CAACU,OAAO,CAAC,CAACR,CAAC,EAAES,MAAM,KAAK;UAC5B,IAAIZ,UAAU,CAACY,MAAM,CAAC,EAAE;YACtBH,KAAK,CAACT,UAAU,CAACY,MAAM,CAAC,CAAC,GAAGT,CAAC,CAAC5C,IAAI,GAAG6C,CAAC,CAAC,EAAES,KAAK,IAAI,CAAC;UACrD;QACF,CAAC,CAAC;QACFd,SAAS,CAACe,IAAI,CAACL,KAAK,CAAC;MACvB;IACF,CAAC,MAAM;MACL;MACAV,SAAS,GAAIxC,IAAI,CAA0B2C,GAAG,CAAC,CAACa,IAAI,EAAEC,KAAK,MAAM;QAC/DN,IAAI,EAAEK,IAAI,CAACV,KAAK,IAAI,SAASW,KAAK,GAAG,CAAC,EAAE;QACxCH,KAAK,EAAEE,IAAI,CAACF;MACd,CAAC,CAAC,CAAC;MACHb,UAAU,GAAG,CAAC,OAAO,CAAC;IACxB;IAEA,MAAMiB,UAAU,GAAGtD,MAAM,KAAK0B,aAAa,GAAG,CAC5C,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EACrD,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CACtD,GAAG,CAAC3B,KAAK,CAAC,CAAC;;IAEZ;IACA,MAAMwD,YAAY,GAAIC,KAAU,IAAK;MACnC,MAAM;QAAEC;MAAQ,CAAC,GAAGD,KAAK;MACzB,IAAI,CAACC,OAAO,IAAIA,OAAO,CAAC5B,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;MAEjD,oBACE,IAAA3D,WAAA,CAAA4D,GAAA;QAAKN,KAAK,EAAE;UACVkC,OAAO,EAAE,MAAM;UACfC,QAAQ,EAAE,MAAM;UAChBC,GAAG,EAAE,MAAM;UACXC,cAAc,EAAEvD,cAAc,KAAK,MAAM,IAAIA,cAAc,KAAK,OAAO,GAAG,YAAY,GAAG,QAAQ;UACjGwD,OAAO,EAAExD,cAAc,KAAK,KAAK,GAAG,YAAY,GAAG;QACrD,CAAE;QAAA4B,QAAA,EACCuB,OAAO,CAAClB,GAAG,CAAC,CAACwB,KAAU,EAAEV,KAAa,KAAK;UAC1C,MAAMW,SAA8B,GAAG;YACrCN,OAAO,EAAE,cAAc;YACvBO,WAAW,EAAE,KAAK;YAClBC,aAAa,EAAE;UACjB,CAAC;;UAED;UACA,IAAI3D,cAAc,KAAK,MAAM,IAAIA,cAAc,KAAK,MAAM,EAAE;YAC1DyD,SAAS,CAACnE,KAAK,GAAG,GAAGW,cAAc,CAACX,KAAK,IAAI;YAC7CmE,SAAS,CAAClE,MAAM,GAAG,GAAGU,cAAc,CAACV,MAAM,IAAI;YAC/CkE,SAAS,CAACG,eAAe,GAAGJ,KAAK,CAAChE,KAAK;YACvCiE,SAAS,CAACI,YAAY,GAAG7D,cAAc,KAAK,MAAM,GAAG,KAAK,GAAG,GAAG;UAClE,CAAC,MAAM,IAAIA,cAAc,KAAK,QAAQ,EAAE;YACtC,MAAM8D,IAAI,GAAGzB,IAAI,CAACC,GAAG,CAACrC,cAAc,CAACX,KAAK,EAAEW,cAAc,CAACV,MAAM,CAAC;YAClEkE,SAAS,CAACnE,KAAK,GAAG,GAAGwE,IAAI,IAAI;YAC7BL,SAAS,CAAClE,MAAM,GAAG,GAAGuE,IAAI,IAAI;YAC9BL,SAAS,CAACG,eAAe,GAAGJ,KAAK,CAAChE,KAAK;YACvCiE,SAAS,CAACI,YAAY,GAAG,KAAK;UAChC,CAAC,MAAM;YACL;YACA,MAAMC,IAAI,GAAGzB,IAAI,CAACC,GAAG,CAACrC,cAAc,CAACX,KAAK,EAAEW,cAAc,CAACV,MAAM,CAAC;YAClEkE,SAAS,CAACnE,KAAK,GAAG,GAAGwE,IAAI,IAAI;YAC7BL,SAAS,CAAClE,MAAM,GAAG,GAAGuE,IAAI,IAAI;YAC9BL,SAAS,CAACG,eAAe,GAAGJ,KAAK,CAAChE,KAAK;YACvCiE,SAAS,CAACI,YAAY,GAAG,KAAK;UAChC;UAEA,oBACE,IAAAlG,WAAA,CAAAoG,IAAA;YAA6B9C,KAAK,EAAE;cAAEkC,OAAO,EAAE,MAAM;cAAEa,UAAU,EAAE;YAAS,CAAE;YAAArC,QAAA,gBAC5E,IAAAhE,WAAA,CAAA4D,GAAA;cAAMN,KAAK,EAAEwC;YAAU,CAAO,CAAC,eAC/B,IAAA9F,WAAA,CAAA4D,GAAA;cAAMN,KAAK,EAAE;gBACXd,UAAU,EAAED,eAAe,CAACC,UAAU;gBACtCC,QAAQ,EAAE,GAAGF,eAAe,CAACE,QAAQ,IAAI;gBACzCC,UAAU,EAAEH,eAAe,CAACG,UAAU;gBACtCC,aAAa,EAAE,GAAGJ,eAAe,CAACI,aAAa,IAAI;gBACnDd,KAAK,EAAE,MAAM;gBACbyE,UAAU,EAAE;cACd,CAAE;cAAAtC,QAAA,EACC6B,KAAK,CAACb;YAAK,CACR,CAAC;UAAA,GAXC,UAAUG,KAAK,EAYpB,CAAC;QAEV,CAAC;MAAC,CACC,CAAC;IAEV,CAAC;IAED,MAAMoB,cAAc,gBAClB,IAAAvG,WAAA,CAAAoG,IAAA,EAAC5F,YAAY;MACXkB,IAAI,EAAEwC,SAAU;MAChBsC,MAAM,EAAE;QACNtD,GAAG,EAAE,EAAE;QACPG,KAAK,EAAE,EAAE;QACTD,IAAI,EAAElB,SAAS,GAAG,EAAE,GAAG,EAAE;QACzBiB,MAAM,EAAGnB,UAAU,IAAIC,SAAS,GAAI,EAAE,GAAG;MAC3C,CAAE;MAAA+B,QAAA,GAEDjC,QAAQ,iBAAI,IAAA/B,WAAA,CAAA4D,GAAA,EAAChD,aAAa;QAAC6F,eAAe,EAAC,KAAK;QAACC,MAAM,EAAC;MAAS,CAAE,CAAC,EAEnE1E,UAAU,IAAIC,SAAS,iBACvB,IAAAjC,WAAA,CAAA4D,GAAA,EAAClD,aAAa;QACZiG,OAAO,EAAC,MAAM;QACdrD,KAAK,EAAE;UAAEb,QAAQ,EAAE;QAAG;MAAE,CACzB,CACF,EAEAP,SAAS,iBACR,IAAAlC,WAAA,CAAA4D,GAAA,EAACjD,aAAa;QACZ2C,KAAK,EAAE;UAAEb,QAAQ,EAAE;QAAG,CAAE;QACxBmE,aAAa,EAAE9D;MAAY,CAC5B,CACF,eAED,IAAA9C,WAAA,CAAA4D,GAAA,EAAC/C,OAAO;QACNgG,YAAY,EAAE;UACZZ,eAAe,EAAE,2BAA2B;UAC5Ca,MAAM,EAAE,mBAAmB;UAC3BZ,YAAY,EAAE;QAChB;MAAE,CACH,CAAC,EAEA1C,aAAa,IAAIrB,UAAU,iBAC3B,IAAAnC,WAAA,CAAA4D,GAAA,EAAC9C,MAAM;QACLkF,aAAa,EAAE5D,cAAc,KAAK,KAAK,IAAIA,cAAc,KAAK,QAAQ,GAAGA,cAAc,GAAG,KAAM;QAChG2E,KAAK,EAAE3E,cAAc,KAAK,MAAM,IAAIA,cAAc,KAAK,OAAO,GAAGA,cAAc,GAAG,QAAS;QAC3F4E,OAAO,EAAE3B;MAAa,CACvB,CACF,EAEAlB,UAAU,CAACE,GAAG,CAAC,CAAC4C,GAAG,EAAE9B,KAAK,KAAK;QAC9B,MAAM+B,WAAW,GAAIC,SAAc,IAAK;UACtC,IAAInE,WAAW,IAAImE,SAAS,EAAE;YAC5B;YACA,MAAMC,SAAS,GAAGlD,SAAS,CAACmD,SAAS,CAACnC,IAAI,IAAIA,IAAI,CAACL,IAAI,KAAKsC,SAAS,CAACtC,IAAI,CAAC;YAE3E,IAAIuC,SAAS,IAAI,CAAC,EAAE;cAClB,IAAI5D,aAAa,EAAE;gBACjB,MAAMY,MAAM,GAAI1C,IAAI,CAA2ByD,KAAK,CAAC;gBACrD,MAAMmC,iBAAiB,GAAGlD,MAAM,EAAE1C,IAAI,GAAG0F,SAAS,CAAC;gBACnD,IAAIE,iBAAiB,EAAE;kBACrBtE,WAAW,CAACiE,GAAG,EAAEK,iBAAiB,EAAEF,SAAS,CAAC;gBAChD;cACF,CAAC,MAAM;gBACL,MAAME,iBAAiB,GAAI5F,IAAI,CAA0B0F,SAAS,CAAC;gBACnE,IAAIE,iBAAiB,EAAE;kBACrBtE,WAAW,CAACiE,GAAG,EAAEK,iBAAiB,EAAEF,SAAS,CAAC;gBAChD;cACF;YACF;UACF;QACF,CAAC;QAED,oBACE,IAAApH,WAAA,CAAA4D,GAAA,EAACnD,IAAI;UAEH8G,IAAI,EAAE3E,SAAU;UAChB+D,OAAO,EAAEM,GAAI;UACbP,MAAM,EAAEtB,UAAU,CAACD,KAAK,GAAGC,UAAU,CAACzB,MAAM,CAAE;UAC9C6D,WAAW,EAAE,CAAE;UACfC,GAAG,EAAE5E,QAAQ,GAAG;YAAE6E,IAAI,EAAEtC,UAAU,CAACD,KAAK,GAAGC,UAAU,CAACzB,MAAM,CAAC;YAAEgE,CAAC,EAAE;UAAE,CAAC,GAAG,KAAM;UAC9EC,SAAS,EAAE/E,QAAQ,GAAG;YAAE8E,CAAC,EAAE;UAAE,CAAC,GAAG,KAAM;UACvCE,OAAO,EAAEX;QAAY,GAPhBD,GAQN,CAAC;MAEN,CAAC,CAAC;IAAA,CACU,CACf;IAED,oBACE,IAAAjH,WAAA,CAAA4D,GAAA,EAAC9D,YAAA,CAAA+D,IAAI;MAACP,KAAK,EAAE,CAACQ,MAAM,CAACC,SAAS,EAAE;QAAEnC,MAAM;QAAED,KAAK,EAAEA,KAAK,IAAI;MAAO,CAAC,EAAE2B,KAAK,CAAE;MAACC,MAAM,EAAEA,MAAO;MAAAS,QAAA,EACxFjD,mBAAmB,gBAClB,IAAAf,WAAA,CAAA4D,GAAA,EAAC7C,mBAAmB;QAACY,KAAK,EAAC,MAAM;QAACC,MAAM,EAAEA,MAAM,GAAG,EAAG;QAAAoC,QAAA,EACnDuC;MAAc,CACI,CAAC,GAEtBA;IACD,CACG,CAAC;EAEX;;EAEA;EACA,IAAI,CAACnG,WAAW,EAAE;IAChB,oBACE,IAAAJ,WAAA,CAAA4D,GAAA,EAAC9D,YAAA,CAAA+D,IAAI;MAACP,KAAK,EAAE,CAACQ,MAAM,CAACC,SAAS,EAAE;QAAEnC;MAAO,CAAC,EAAE0B,KAAK,CAAE;MAAAU,QAAA,eACjD,IAAAhE,WAAA,CAAA4D,GAAA,EAAC7D,KAAA,CAAAI,OAAI;QAACmD,KAAK,EAAEQ,MAAM,CAACG,SAAU;QAAAD,QAAA,EAAC;MAA2B,CAAM;IAAC,CAC7D,CAAC;EAEX;;EAEA;EACA,MAAME,SAAS,GAAGV,aAAa,GAC3B,CAAE9B,IAAI,CAA2B,CAAC,CAAC,EAAEA,IAAI,IAAI,EAAE,EAAE2C,GAAG,CAACyD,CAAC,IAAIA,CAAC,CAAC9C,KAAK,CAAC,GACjEtD,IAAI,CAA0B2C,GAAG,CAACyD,CAAC,IAAIA,CAAC,CAAC9C,KAAK,CAAC;EAEpD,MAAM+C,SAAS,GAAGA,CAAC;IAAEC,CAAC;IAAEC,CAAC;IAAEvG,IAAI,EAAEwG;EAAiB,CAAC,KAAK;IACtD,IAAI,CAACrF,QAAQ,IAAI,CAACtC,MAAM,EAAE,OAAO,IAAI;IAErC,OAAO2H,WAAW,CAAC7D,GAAG,CAAC,CAACW,KAAU,EAAEG,KAAa,KAAK;MACpD,MAAMgD,WAAW,GAAGA,CAAA,KAAM;QACxB,IAAInF,WAAW,EAAE;UACf,IAAIsE,iBAAqC;UACzC,IAAIc,WAAmB;UAEvB,IAAI5E,aAAa,EAAE;YACjB,MAAM6E,WAAW,GAAI3G,IAAI,CAA2B,CAAC,CAAC;YACtD4F,iBAAiB,GAAGe,WAAW,EAAE3G,IAAI,GAAGyD,KAAK,CAAC,IAAI;cAAEH;YAAM,CAAC;YAC3DoD,WAAW,GAAGC,WAAW,EAAE7D,KAAK,IAAI,UAAU;UAChD,CAAC,MAAM;YACL8C,iBAAiB,GAAI5F,IAAI,CAA0ByD,KAAK,CAAC,IAAI;cAAEH;YAAM,CAAC;YACtEoD,WAAW,GAAG,OAAO;UACvB;UAEApF,WAAW,CAACoF,WAAW,EAAEd,iBAAiB,EAAEnC,KAAK,CAAC;QACpD;MACF,CAAC;MAED,oBACE,IAAAnF,WAAA,CAAA4D,GAAA,EAACrD,MAAM;QAEL+H,EAAE,EAAEN,CAAC,CAAC7C,KAAK,CAAE;QACboD,EAAE,EAAEN,CAAC,CAACjD,KAAK,CAAE;QACb2C,CAAC,EAAE,CAAE;QACLjB,MAAM,EAAE7E,KAAM;QACd6F,IAAI,EAAC,OAAO;QACZF,WAAW,EAAE,CAAE;QACfgB,OAAO,EAAEL;MAAY,GAPhBhD,KAQN,CAAC;IAEN,CAAC,CAAC;EACJ,CAAC;EAED,oBACE,IAAAnF,WAAA,CAAA4D,GAAA,EAAC9D,YAAA,CAAA+D,IAAI;IAACP,KAAK,EAAE,CAACQ,MAAM,CAACC,SAAS,EAAE;MAAEnC,MAAM;MAAED,KAAK,EAAEA,KAAK,IAAI;IAAO,CAAC,EAAE2B,KAAK,CAAE;IAACC,MAAM,EAAEA,MAAO;IAAAS,QAAA,eACzF,IAAAhE,WAAA,CAAAoG,IAAA,EAACtG,YAAA,CAAA+D,IAAI;MAACP,KAAK,EAAEQ,MAAM,CAAC2E,YAAa;MAAAzE,QAAA,gBAC/B,IAAAhE,WAAA,CAAAoG,IAAA,EAAChG,WAAW;QACVkD,KAAK,EAAE;UAAEoF,IAAI,EAAE;QAAE,CAAE;QACnBhH,IAAI,EAAEwC,SAAU;QAChBzC,GAAG,EAAE;UAAEiF,MAAM,EAAE7E,KAAK;UAAE2F,WAAW,EAAE;QAAE,CAAE;QACvCvE,YAAY,EAAEA,YAAa;QAC3B0F,OAAO,EAAE,CAAE;QAAA3E,QAAA,GAEVjC,QAAQ,IAAI1B,IAAI,iBAAI,IAAAL,WAAA,CAAA4D,GAAA,EAACvD,IAAI,IAAE,CAAC,eAC7B,IAAAL,WAAA,CAAA4D,GAAA,EAACmE,SAAS,IAAE,CAAC;MAAA,CACF,CAAC,EAEZ/F,UAAU,IAAIC,SAAS,IAAK3B,OAAO,iBACnC,IAAAN,WAAA,CAAA4D,GAAA,EAACtD,OAAO;QACNgD,KAAK,EAAEQ,MAAM,CAAC8E,KAAM;QACpBlH,IAAI,EAAEwC,SAAU;QAChB2E,WAAW,EAAEA,CAAC7D,KAAU,EAAEG,KAAa,KAAK;UAC1C,IAAIpC,WAAW,EAAE;YACf,OAAOA,WAAW,CAACiC,KAAK,EAAEG,KAAK,CAAC;UAClC;UACA,IAAI3B,aAAa,EAAE;YACjB,OAAO,CAAE9B,IAAI,CAA2B,CAAC,CAAC,EAAEA,IAAI,IAAI,EAAE,EAAEyD,KAAK,CAAC,EAAEX,KAAK,IAAIW,KAAK,CAAC2D,QAAQ,CAAC,CAAC;UAC3F;UACA,OAAQpH,IAAI,CAA0ByD,KAAK,CAAC,EAAEX,KAAK,IAAIW,KAAK,CAAC2D,QAAQ,CAAC,CAAC;QACzE,CAAE;QACF7F,YAAY,EAAE;UAAEG,IAAI,EAAE,EAAE;UAAEC,KAAK,EAAE;QAAG,CAAE;QACtC5B,GAAG,EAAE;UAAEgB,QAAQ,EAAE,EAAE;UAAEiF,IAAI,EAAE;QAAQ;MAAE,CACtC,CACF;IAAA,CACG;EAAC,CACH,CAAC;AAEX,CAAC;AAACqB,OAAA,CAAA5H,SAAA,GAAAA,SAAA;AAEF,MAAM2C,MAAM,GAAGkF,uBAAU,CAACC,MAAM,CAAC;EAC/BlF,SAAS,EAAE;IACTkC,eAAe,EAAE;EACnB,CAAC;EACDwC,YAAY,EAAE;IACZC,IAAI,EAAE;EACR,CAAC;EACDE,KAAK,EAAE;IACLM,gBAAgB,EAAE,CAAC,EAAE;IACrBtH,MAAM,EAAE;EACV,CAAC;EACDqC,SAAS,EAAE;IACTkF,SAAS,EAAE,QAAQ;IACnBC,SAAS,EAAE,GAAG;IACdvH,KAAK,EAAE;EACT;AACF,CAAC,CAAC","ignoreList":[]}
@@ -155,21 +155,22 @@ const TapasUserSwitcher = ({
155
155
  // 渲染用户列表
156
156
  const renderUserList = (0, _react.useCallback)(() => {
157
157
  const displayUsers = getDisplayUsers();
158
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
158
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
159
159
  style: [styles.userListContainer, {
160
160
  height
161
161
  }],
162
- onPress: handleUserSwitcherPress,
163
- testID: testID,
164
162
  children: displayUsers.map((user, index) => renderAvatar(user, index))
165
163
  });
166
- }, [getDisplayUsers, height, handleUserSwitcherPress, renderAvatar, styles, testID]);
167
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
164
+ }, [getDisplayUsers, height, renderAvatar, styles]);
165
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
168
166
  ...otherProps,
169
167
  style: [styles.container, {
170
168
  height,
171
169
  width: isLoggedIn ? containerWidth : "auto"
172
170
  }, style],
171
+ testID: testID,
172
+ onPress: isLoggedIn ? handleUserSwitcherPress : undefined,
173
+ disabled: !isLoggedIn,
173
174
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
174
175
  style: {
175
176
  opacity: fadeAnim,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_themed","_Button","_interopRequireDefault","_TapasIcon","_Image","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TapasUserSwitcher","userList","isLoggedIn","height","currentUserId","avatarType","loginButtonText","onUserSwitcherPress","onLoginPress","onUserListChange","animationDuration","style","testID","otherProps","styles","useStyles","containerWidth","setContainerWidth","useState","fadeAnim","useRef","Animated","Value","current","scaleAnim","avatarSizes","useEffect","length","process","env","NODE_ENV","setValue","parallel","timing","toValue","duration","useNativeDriver","start","moveUserToFront","useCallback","users","userId","currentUserIndex","findIndex","user","id","currentUser","otherUsers","filter","getDisplayUsers","orderedUsers","slice","handleUserSwitcherPress","handleLoginPress","renderAvatar","index","size","leftPosition","zIndex","opacity","avatarContainerStyle","avatarContainer","left","width","borderRadius","avatar","jsx","View","children","backgroundColor","name","color","radius","uri","defaultAvatarBackground","defaultAvatarIcon","renderUserList","displayUsers","Pressable","userListContainer","onPress","map","container","transform","scale","exports","makeStyles","theme","display","alignSelf","flexDirection","alignItems","justifyContent","position","overflow","flexGrow","colors","grey2","_default","withTheme","UserSwitcher"],"sourceRoot":"../../../components","sources":["UserSwitcher/UserSwitcher.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_themed","_Button","_interopRequireDefault","_TapasIcon","_Image","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TapasUserSwitcher","userList","isLoggedIn","height","currentUserId","avatarType","loginButtonText","onUserSwitcherPress","onLoginPress","onUserListChange","animationDuration","style","testID","otherProps","styles","useStyles","containerWidth","setContainerWidth","useState","fadeAnim","useRef","Animated","Value","current","scaleAnim","avatarSizes","useEffect","length","process","env","NODE_ENV","setValue","parallel","timing","toValue","duration","useNativeDriver","start","moveUserToFront","useCallback","users","userId","currentUserIndex","findIndex","user","id","currentUser","otherUsers","filter","getDisplayUsers","orderedUsers","slice","handleUserSwitcherPress","handleLoginPress","renderAvatar","index","size","leftPosition","zIndex","opacity","avatarContainerStyle","avatarContainer","left","width","borderRadius","avatar","jsx","View","children","backgroundColor","name","color","radius","uri","defaultAvatarBackground","defaultAvatarIcon","renderUserList","displayUsers","userListContainer","map","Pressable","container","onPress","undefined","disabled","transform","scale","exports","makeStyles","theme","display","alignSelf","flexDirection","alignItems","justifyContent","position","overflow","flexGrow","colors","grey2","_default","withTheme","UserSwitcher"],"sourceRoot":"../../../components","sources":["UserSwitcher/UserSwitcher.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,201 @@
1
+ # Android Input 焦点跳动问题修复总结
2
+
3
+ ## 修复时间
4
+ 2025-12-04
5
+
6
+ ## 修复方案
7
+ 采用**方案 1 + 方案 3 组合**:添加焦点状态检查 + 改进延迟 blur 逻辑
8
+
9
+ ## 修复内容
10
+
11
+ ### 方案 1:添加焦点状态检查
12
+
13
+ #### 1. 添加焦点状态跟踪
14
+ - 新增 `isFocusedRef`:使用 ref 存储 `isFocused` 的最新值,避免在 useEffect 中需要依赖
15
+ - 新增 `lastFocusTimeRef`:记录最后一次 focus 的时间戳
16
+ - 新增 `FOCUS_SWITCH_PROTECTION_PERIOD`:焦点切换保护期(200ms)
17
+
18
+ ### 2. 改进 `handleFocus` 逻辑(方案 3)
19
+
20
+ ```typescript
21
+ const handleFocus = useCallback((e: any) => {
22
+ // 清除可能存在的 blur 延迟
23
+ if (blurTimeoutRef.current) {
24
+ clearTimeout(blurTimeoutRef.current);
25
+ blurTimeoutRef.current = null;
26
+ }
27
+
28
+ // 方案 3:清除所有其他 Input 的重新聚焦标记
29
+ // 当当前 Input 获得焦点时,清除其他 Input 的 shouldRefocusRef,防止焦点跳动
30
+ inputInstancesRef.forEach((ref) => {
31
+ if (ref !== shouldRefocusRef) {
32
+ ref.current = false;
33
+ }
34
+ });
35
+
36
+ // 清除当前组件的重新聚焦标记,因为当前组件已经获得焦点
37
+ shouldRefocusRef.current = false;
38
+ // 记录 focus 时间戳,用于焦点切换保护期判断
39
+ lastFocusTimeRef.current = Date.now();
40
+ // 更新 ref 和 state
41
+ isFocusedRef.current = true;
42
+ setIsFocused(true);
43
+ onFocus?.(e);
44
+ }, [onFocus]);
45
+ ```
46
+
47
+ **改进点**(方案 3):
48
+ - **全局实例管理**:使用全局 `inputInstancesRef` Set 存储所有 Input 实例的 `shouldRefocusRef`
49
+ - **主动清除其他 Input 标记**:当当前 Input 获得焦点时,立即清除所有其他 Input 的 `shouldRefocusRef`,防止它们错误地重新聚焦
50
+ - 记录 focus 时间戳,用于后续保护期判断
51
+ - 同步更新 `isFocusedRef` 和 `isFocused` state
52
+
53
+ #### 4. 改进 `handleBlur` 逻辑
54
+ ```typescript
55
+ // 在 blur 时同步更新 ref
56
+ isFocusedRef.current = false;
57
+ setIsFocused(false);
58
+ ```
59
+
60
+ **改进点**:
61
+ - 确保 ref 和 state 同步更新
62
+
63
+ ### 方案 3:改进延迟 blur 逻辑
64
+
65
+ #### 1. 全局 Input 实例管理
66
+
67
+ ```typescript
68
+ // 方案 3:全局 Input 实例管理器,用于清除其他 Input 的重新聚焦标记
69
+ const inputInstancesRef = new Set<React.MutableRefObject<boolean>>();
70
+
71
+ // 注册当前 Input 实例到全局管理器
72
+ useEffect(() => {
73
+ if (Platform.OS === 'android' && enableBridgelessFix) {
74
+ inputInstancesRef.add(shouldRefocusRef);
75
+ return () => {
76
+ inputInstancesRef.delete(shouldRefocusRef);
77
+ };
78
+ }
79
+ }, [enableBridgelessFix]);
80
+ ```
81
+
82
+ **作用**:
83
+ - 维护所有 Input 实例的引用,用于在 focus 时清除其他 Input 的重新聚焦标记
84
+ - 组件卸载时自动清理,避免内存泄漏
85
+
86
+ #### 2. 在 `handleFocus` 中清除其他 Input 的标记
87
+
88
+ 见上面的 `handleFocus` 逻辑部分。
89
+
90
+ ### 方案 1:核心修复 - `keyboardDidShow` 监听器
91
+
92
+ 添加了三层检查机制:
93
+
94
+ #### 检查 1:当前组件是否已聚焦
95
+ ```typescript
96
+ if (isFocusedRef.current) {
97
+ // 当前组件已经聚焦,清除重新聚焦标记,避免后续误操作
98
+ shouldRefocusRef.current = false;
99
+ return;
100
+ }
101
+ ```
102
+ **作用**:如果当前组件已经聚焦,说明键盘是由当前组件触发的,不需要重新聚焦。
103
+
104
+ #### 检查 2:焦点切换保护期
105
+ ```typescript
106
+ const timeSinceLastFocus = Date.now() - lastFocusTimeRef.current;
107
+ if (timeSinceLastFocus < FOCUS_SWITCH_PROTECTION_PERIOD) {
108
+ // 在保护期内,说明可能有其他 Input 正在获得焦点,不执行重新聚焦
109
+ shouldRefocusRef.current = false;
110
+ return;
111
+ }
112
+ ```
113
+ **作用**:如果在 200ms 内有 focus 事件(可能是其他 Input 获得焦点),不执行重新聚焦,避免焦点跳动。
114
+
115
+ #### 检查 3:异步执行时的状态再次检查
116
+ ```typescript
117
+ if (shouldRefocusRef.current && !isFocusedRef.current && inputRef.current) {
118
+ // 执行重新聚焦逻辑
119
+ }
120
+ ```
121
+ **作用**:在异步执行时再次检查状态,避免在异步执行期间状态已改变。
122
+
123
+ ## 方案组合优势
124
+
125
+ **方案 1 + 方案 3 组合**提供了双重保障机制:
126
+
127
+ 1. **方案 3(主动清除)**:在 Input B focus 时立即清除 Input A 的标记,从源头阻止焦点跳动
128
+ 2. **方案 1(状态检查)**:即使标记未被清除,也会通过状态检查阻止重新聚焦,作为备用保障
129
+
130
+ 这种组合方式确保了:
131
+ - ✅ **更快的响应**:方案 3 在 focus 时立即清除,不需要等待键盘事件
132
+ - ✅ **更强的保障**:方案 1 提供额外的状态检查,即使方案 3 失效也能阻止焦点跳动
133
+ - ✅ **更好的兼容性**:两种机制互补,适应不同的时序场景
134
+
135
+ ## 修复原理
136
+
137
+ ### 问题根源
138
+ 当两个 Input 切换焦点时:
139
+ 1. Input A blur → 设置 `shouldRefocusRef.current = true`
140
+ 2. Input B focus → 触发键盘显示
141
+ 3. 键盘显示 → 所有 Input 的 `keyboardDidShow` 监听器都被触发
142
+ 4. Input A 的监听器检测到标记 → 错误地重新聚焦 Input A
143
+
144
+ ### 修复机制
145
+
146
+ **方案 1:三层检查机制**
147
+ 通过三层检查,确保只有在以下条件**全部满足**时才执行重新聚焦:
148
+ 1. ✅ 当前组件**未聚焦**(`!isFocusedRef.current`)
149
+ 2. ✅ 不在焦点切换保护期内(最近 200ms 内没有 focus 事件)
150
+ 3. ✅ 确实需要重新聚焦(`shouldRefocusRef.current === true`)
151
+
152
+ **方案 3:主动清除机制**
153
+ 当 Input B 获得焦点时,立即清除 Input A 的 `shouldRefocusRef`,双重保障:
154
+ 1. ✅ Input B focus → 立即清除 Input A 的 `shouldRefocusRef.current = false`
155
+ 2. ✅ 即使 Input A 的 `keyboardDidShow` 被触发,也会因为标记已被清除而不执行重新聚焦
156
+
157
+ ## 修复效果
158
+
159
+ ### 修复前
160
+ ```
161
+ Input A blur → Input B focus → 键盘显示 → Input A 错误重新聚焦 → 焦点跳动
162
+ ```
163
+
164
+ ### 修复后(方案 1 + 方案 3 组合)
165
+ ```
166
+ Input A blur → Input B focus → 立即清除 Input A 的标记 → 键盘显示 → Input A 检测到标记已清除 → 不执行重新聚焦 → 焦点正常切换
167
+ ```
168
+
169
+ **双重保障**:
170
+ 1. **方案 3 主动清除**:Input B focus 时立即清除 Input A 的标记
171
+ 2. **方案 1 状态检查**:即使标记未被清除,也会通过状态检查阻止重新聚焦
172
+
173
+ ## 测试场景
174
+
175
+ 修复后需要测试以下场景:
176
+
177
+ 1. ✅ **单个 Input 聚焦**:点击单个 Input,键盘正常显示,无焦点跳动
178
+ 2. ✅ **两个 Input 切换**:在 Input A 和 Input B 之间切换,焦点正常切换,无跳动
179
+ 3. ✅ **快速连续切换**:快速连续点击多个 Input,焦点正常切换
180
+ 4. ✅ **点击外部区域**:点击 Input 外部区域,键盘正常隐藏
181
+ 5. ✅ **ScrollView 中的 Input**:在 ScrollView 中的 Input 正常聚焦
182
+
183
+ ## 兼容性
184
+
185
+ - ✅ 保持对 RN 0.77 Bridgeless 模式的兼容
186
+ - ✅ 不影响 iOS 平台(仅在 Android 上生效)
187
+ - ✅ 可以通过 `enableBridgelessFix` 禁用修复
188
+ - ✅ 向后兼容,不影响现有功能
189
+
190
+ ## 代码变更文件
191
+
192
+ - `components/Input/Input.tsx`
193
+
194
+ ## 相关文档
195
+
196
+ - `components/Input/FOCUS_ISSUE_ANALYSIS.md` - 问题分析文档
197
+
198
+ ---
199
+
200
+ **修复完成** ✅
201
+
@@ -0,0 +1,188 @@
1
+ # Android Input 组件焦点跳动问题分析
2
+
3
+ ## 问题描述
4
+
5
+ 在 Android 平台上,当两个 Input 组件切换焦点时,出现焦点来回跳动的问题:
6
+
7
+ 1. **第一个 Input** 失去焦点(blur)
8
+ 2. **第二个 Input** 获取焦点(focus)
9
+ 3. 焦点又**跳回第一个 Input**
10
+ 4. 形成来回跳动的循环
11
+
12
+ ## 问题场景重现
13
+
14
+ ```
15
+ 用户操作流程:
16
+ 1. 点击 Input A → Input A 获得焦点
17
+ 2. 点击 Input B → Input A 触发 blur,Input B 触发 focus
18
+ 3. 键盘显示 → 触发 keyboardDidShow 事件
19
+ 4. ❌ Input A 的 keyboardDidShow 监听器被触发
20
+ 5. ❌ Input A 检测到 shouldRefocusRef.current === true
21
+ 6. ❌ Input A 自动重新聚焦
22
+ 7. ❌ 焦点从 Input B 跳回 Input A
23
+ ```
24
+
25
+ ## 根本原因分析
26
+
27
+ ### 1. 全局键盘事件监听器冲突
28
+
29
+ **问题代码位置**:`components/Input/Input.tsx:140-188`
30
+
31
+ ```typescript
32
+ const keyboardDidShowListener = Keyboard.addListener('keyboardDidShow', () => {
33
+ if (shouldRefocusRef.current) {
34
+ // 尝试重新聚焦
35
+ inputRef.current.focus();
36
+ }
37
+ });
38
+ ```
39
+
40
+ **问题分析**:
41
+ - `keyboardDidShow` 是**全局事件**,所有 Input 组件实例都会收到
42
+ - 当第二个 Input 获得焦点并触发键盘显示时,**第一个 Input 的监听器也会被触发**
43
+ - 第一个 Input 检测到 `shouldRefocusRef.current === true`(在 blur 时设置的),就会尝试重新聚焦
44
+ - 这导致焦点被错误地抢回第一个 Input
45
+
46
+ ### 2. 缺少焦点状态检查
47
+
48
+ **问题代码位置**:`components/Input/Input.tsx:143-187`
49
+
50
+ 当前逻辑只检查 `shouldRefocusRef.current`,但没有检查:
51
+ - 当前是否有其他 Input 已经获得焦点
52
+ - 当前组件是否真的需要重新聚焦
53
+ - 是否正在切换焦点到其他 Input
54
+
55
+ ### 3. 延迟 blur 与键盘事件的时序问题
56
+
57
+ **问题代码位置**:`components/Input/Input.tsx:90-123`
58
+
59
+ ```typescript
60
+ const handleBlur = useCallback((e: any) => {
61
+ if (Platform.OS === 'android' && enableBridgelessFix) {
62
+ shouldRefocusRef.current = true; // ⚠️ 问题:立即设置标记
63
+ blurTimeoutRef.current = setTimeout(() => {
64
+ // 延迟 500-800ms 后才真正执行 blur
65
+ }, delay);
66
+ }
67
+ }, [onBlur, enableBridgelessFix]);
68
+ ```
69
+
70
+ **时序问题**:
71
+ 1. Input A blur → 设置 `shouldRefocusRef.current = true`
72
+ 2. Input B focus → 触发键盘显示
73
+ 3. 键盘显示 → 触发 `keyboardDidShow`(所有 Input 都收到)
74
+ 4. Input A 的监听器检测到标记 → 重新聚焦 Input A
75
+ 5. 此时 Input B 刚获得焦点,就被 Input A 抢走了
76
+
77
+ ### 4. 缺少组件实例标识
78
+
79
+ 当前实现中,每个 Input 组件实例都是独立的,但它们共享同一个全局键盘事件。当多个 Input 同时存在时,无法区分:
80
+ - 哪个 Input 应该响应键盘事件
81
+ - 哪个 Input 正在失去焦点
82
+ - 哪个 Input 正在获得焦点
83
+
84
+ ## 问题流程图
85
+
86
+ ```
87
+ ┌─────────────────────────────────────────────────────────────┐
88
+ │ 用户点击 Input B(Input A 当前有焦点) │
89
+ └─────────────────────────────────────────────────────────────┘
90
+
91
+
92
+ ┌─────────────────────────────────────────────────────────────┐
93
+ │ 1. Input A 触发 handleBlur │
94
+ │ - shouldRefocusRef.current = true │
95
+ │ - 设置延迟 blur(500-800ms) │
96
+ └─────────────────────────────────────────────────────────────┘
97
+
98
+
99
+ ┌─────────────────────────────────────────────────────────────┐
100
+ │ 2. Input B 触发 handleFocus │
101
+ │ - 清除 Input B 的 blurTimeout │
102
+ │ - setIsFocused(true) │
103
+ └─────────────────────────────────────────────────────────────┘
104
+
105
+
106
+ ┌─────────────────────────────────────────────────────────────┐
107
+ │ 3. 键盘显示 → 触发全局 keyboardDidShow 事件 │
108
+ │ - 所有 Input 组件的监听器都被触发 │
109
+ └─────────────────────────────────────────────────────────────┘
110
+
111
+
112
+ ┌─────────────────────────────────────────────────────────────┐
113
+ │ 4. Input A 的 keyboardDidShow 监听器执行 │
114
+ │ - 检测到 shouldRefocusRef.current === true │
115
+ │ - ❌ 错误地重新聚焦 Input A │
116
+ └─────────────────────────────────────────────────────────────┘
117
+
118
+
119
+ ┌─────────────────────────────────────────────────────────────┐
120
+ │ 5. 焦点从 Input B 跳回 Input A │
121
+ │ - 形成焦点跳动问题 │
122
+ └─────────────────────────────────────────────────────────────┘
123
+ ```
124
+
125
+ ## 解决方案设计
126
+
127
+ ### 方案 1:添加焦点状态检查(推荐)
128
+
129
+ **核心思路**:在 `keyboardDidShow` 监听器中,检查当前组件是否真的需要重新聚焦。
130
+
131
+ **实现要点**:
132
+ 1. 检查 `isFocused` 状态,如果已经是聚焦状态,不执行重新聚焦
133
+ 2. 检查是否有其他 Input 正在获得焦点(通过事件时间戳判断)
134
+ 3. 添加短暂的"焦点切换保护期",在保护期内不执行重新聚焦
135
+
136
+ ### 方案 2:使用全局焦点管理器
137
+
138
+ **核心思路**:创建一个全局的焦点管理器,统一管理所有 Input 的焦点状态。
139
+
140
+ **实现要点**:
141
+ 1. 创建一个全局的焦点管理器 Context
142
+ 2. 记录当前聚焦的 Input 实例 ID
143
+ 3. 只有当前聚焦的 Input 才能响应键盘事件
144
+
145
+ ### 方案 3:改进延迟 blur 逻辑
146
+
147
+ **核心思路**:在 blur 时,如果检测到有新的 focus 事件,立即取消重新聚焦标记。
148
+
149
+ **实现要点**:
150
+ 1. 在 `handleFocus` 中,清除所有其他 Input 的 `shouldRefocusRef` 标记
151
+ 2. 使用全局事件或 Context 来通知其他 Input 组件
152
+
153
+ ## 推荐方案:方案 1 + 方案 3 组合
154
+
155
+ 结合两种方案的优点:
156
+ 1. **在 `handleFocus` 中清除其他 Input 的重新聚焦标记**
157
+ 2. **在 `keyboardDidShow` 中检查 `isFocused` 状态**
158
+ 3. **添加焦点切换保护期**
159
+
160
+ ## 修复要点
161
+
162
+ 1. ✅ 在 `handleFocus` 中,通过全局机制清除其他 Input 的 `shouldRefocusRef`
163
+ 2. ✅ 在 `keyboardDidShow` 中,检查 `isFocused` 状态,如果已聚焦则不执行
164
+ 3. ✅ 添加焦点切换保护期(例如 200ms),在保护期内不执行重新聚焦
165
+ 4. ✅ 改进事件时序处理,确保 blur 和 focus 事件正确处理
166
+
167
+ ## 测试场景
168
+
169
+ 修复后需要测试以下场景:
170
+
171
+ 1. ✅ 单个 Input 点击后键盘正常显示
172
+ 2. ✅ 两个 Input 之间正常切换焦点
173
+ 3. ✅ 快速连续切换多个 Input
174
+ 4. ✅ 点击 Input 外部区域,键盘正常隐藏
175
+ 5. ✅ 在 ScrollView 中的 Input 正常聚焦
176
+
177
+ ## 风险评估
178
+
179
+ - **低风险**:方案 1 和方案 3 都是对现有逻辑的改进,不会破坏现有功能
180
+ - **兼容性**:修复后仍然保持对 RN 0.77 Bridgeless 模式的兼容
181
+ - **性能影响**:几乎无影响,只是添加了状态检查
182
+
183
+ ---
184
+
185
+ **分析完成时间**:2025-12-04
186
+ **问题优先级**:高
187
+ **建议修复方案**:方案 1 + 方案 3 组合
188
+