角材料* matNoDataRow不起作用

时间:2020-07-02 14:23:21

标签: angular angular-material

我制作了一个MatTable,您可以在其中进行过滤。如果没有与过滤器匹配的数据,我想使用Angular Material文档中提到的* matNoDataRow 指令显示文本。但是,它不像Angular Material的示例中那样起作用。 有什么我忘了吗?还是该指令不起作用? 我使用Angular 9。

这是我的桌子:

from tqdm import tqdm
df1a=df1.groupby('name')
df2a=df2.groupby('name')
mergedf=df1
mergedf['maximum']=-1
mergedf['minimum']=-1
def get_min_max(row):
    dfx=df2x.iloc[df2x.index.searchsorted(row['start_date']): df2x.index.searchsorted(row['end_date'])]
    maximum = dfx['high'].max()
    minimum = dfx['low'].min() 
    return pd.Series({'maximum': maximum, 'minimum': minimum})
for name,df in tqdm(df1a):
    df2x=df2a.get_group(name)
    mergedf.loc[[name],['maximum','minimum']]=df.apply(get_min_max,axis=1)

2 个答案:

答案 0 :(得分:8)

该功能仅在最新版本的Angular(v10)中可用。如果您将文档切换为显示v9(现在显示9.2.4),则会看到该功能不属于API。

也就是说,我也无法正常工作。即使在Angular 10中也是如此::(

更新:我确实可以正常工作。 (我正在使用Angular 10.0.1)。我的工作代码看起来与您的实现方式完全相同。因此,升级到Angular 10应该可以解决问题。

答案 1 :(得分:2)

我同意杰西的观点。它在 Angular 10 中运行良好。您的代码没有任何问题。甚至我也做了同样的检查。

  <tr class="mat-row" *matNoDataRow>
                <td class="mat-cell" colspan="4">No data found</td>
            </tr>