diff --git a/Documentation/XCharts配置项手册.md b/Documentation/XCharts配置项手册.md index fdd07921..ec3d384e 100644 --- a/Documentation/XCharts配置项手册.md +++ b/Documentation/XCharts配置项手册.md @@ -202,8 +202,8 @@ * `{d}`为百分比值,注意不带`%`号。 * `{.1}`表示指定`index`为`1`的`serie`对应颜色的圆点。 * `{a1}`、`{b1}`、`{c1}`中的`1`表示指定`index`为`1`的`serie`,`{a}`默认`index`为`0`的`serie`。 - * `{c1:2}`表示索引为`1`的`serie`的数据项的第`3`个数据(`index`为`2`)。 - * `{c1:2-2}`表示索引为`1`的`serie`的第`3`个数据项的第`3`个数据(一个数据项有多个数据)。 + * `{c1:2}`表示索引为`1`的`serie`的当前指示数据项的第`3`个数据(一个数据项有多个数据,index为`2`表示第`3`个数据)。 + * `{c1:2-2}`表示索引为`1`的`serie`的第`3`个数据项的第`3`个数据(也就是要指定第几个数据项时必须要指定第几个数据)。 * `{d1:2:f2}`表示单独指定了数值的格式化字符串为`f2`(不指定时用`numericFormatter`)。 * 示例:`"{a}:{c}"`、`"{a1}:{c1:f1}"`、`"{a1}:{c1:1f1}"` * `titleFormatter`:提示框标题内容的字符串模版格式器。支持用 `\n` 换行。仅当`itemFormatter`生效时才有效。可以单独设置占位符`{i}`表示忽略不显示标题内容。 diff --git a/Runtime/Component/Main/Tooltip.cs b/Runtime/Component/Main/Tooltip.cs index f885cfcd..fb624604 100644 --- a/Runtime/Component/Main/Tooltip.cs +++ b/Runtime/Component/Main/Tooltip.cs @@ -104,8 +104,8 @@ namespace XCharts /// {d}为百分比值,注意不带%号。 /// {.1}表示指定index为1的serie对应颜色的圆点。 /// {a1}、{b1}、{c1}中的1表示指定index为1的serie,{a}默认index为0的serie。 - /// {c1:2}表示索引为1的serie的数据项的第3个数据(index为2)。 - /// {c1:2-2}表示索引为1的serie的第3个数据项的第3个数据(一个数据项有多个数据)。 + /// {c1:2}表示索引为1的serie的当前指示数据项的第3个数据(一个数据项有多个数据,index为2表示第3个数据)。 + /// {c1:2-2}表示索引为1的serie的第3个数据项的第3个数据(也就是要指定第几个数据项时必须要指定第几个数据)。 /// {d1:2:f2}表示单独指定了数值的格式化字符串为f2(不指定时用numericFormatter)。 /// 示例:"{a}:{c}"、"{a1}:{c1:f1}"、"{a1}:{c1:1f1}" /// diff --git a/Runtime/Internal/Helper/TooltipHelper.cs b/Runtime/Internal/Helper/TooltipHelper.cs index df747f19..350a5d72 100644 --- a/Runtime/Internal/Helper/TooltipHelper.cs +++ b/Runtime/Internal/Helper/TooltipHelper.cs @@ -188,10 +188,17 @@ namespace XCharts var sb = ChartHelper.sb; var title = tooltip.titleFormatter; var formatTitle = !string.IsNullOrEmpty(title); + var titleIsIgnroe = false; var needCategory = false; var first = true; var isScatter = false; sb.Length = 0; + if ("{i}".Equals(tooltip.titleFormatter)) + { + title = string.Empty; + formatTitle = false; + titleIsIgnroe = true; + } for (int i = 0; i < series.Count; i++) { var serie = series.GetSerie(i); @@ -235,8 +242,7 @@ namespace XCharts needCategory = needCategory || (serie.type == SerieType.Line || serie.type == SerieType.Bar); if (formatTitle) { - if (title.Equals("{i}")) title = string.Empty; - else FormatterHelper.ReplaceContent(ref title, dataIndex, tooltip.numericFormatter, null, series, themeInfo, category, dataZoom); + FormatterHelper.ReplaceContent(ref title, dataIndex, tooltip.numericFormatter, null, series, themeInfo, category, dataZoom); } if (serie.show) { @@ -262,8 +268,10 @@ namespace XCharts } else if (string.IsNullOrEmpty(title)) { - if (needCategory) return category + FormatterHelper.PH_NN + FormatterHelper.TrimAndReplaceLine(sb); - else return FormatterHelper.TrimAndReplaceLine(sb); + if (needCategory && !titleIsIgnroe) + return category + FormatterHelper.PH_NN + FormatterHelper.TrimAndReplaceLine(sb); + else + return FormatterHelper.TrimAndReplaceLine(sb); } else {