我有一个简单的问题
是否可以按列 ID 禁用默认排序?或者至少在全球范围内改变它?
谢谢回答
编辑:
更具体地说,我有 REST API (OData),它返回“Id”而不是“id”,因此每次使用相关组件时我都必须设置排序以防止未定义的错误。
我欢迎在相关组件中禁用默认排序的选项。
我想知道在 Angular 组件中为可选属性设置默认值的“Angular/Typescript 方式”是什么?当传递给可选属性的值是nullor时,我遇到了麻烦undefined。
目前我有这样的事情:
export class FooComponent implements OnInit {
@Input() foo = 'foo';
@Input() bar = 0;
@Input() baz?: string;
}
Run Code Online (Sandbox Code Playgroud)
如果声明默认值,则不必指定类型,因为它是指定值的类型,默认情况下属性是可选的。bar和foo属性就是这种情况。
或者,您可以使用?标记此属性是可选的,但不能声明其默认值。这就是baz财产的情况。
现在让我们看看当您将不同的值传递给这些属性时会发生什么。
<app-foo-component
[foo]
[bar]="null"
[baz]="undefined"
>
</app-foo-component>
Run Code Online (Sandbox Code Playgroud)
如果我控制台记录这些属性,这就是我得到的:
foo 会正确 'foo'
bar 将会 null
baz 将会 undefined
当传递的值为空/未定义时,是否有一种优雅的方法也可以设置默认值,或者我是否需要像这样在 OnInit 中进行一些检查?
OnInit() {
this.bar = this.bar || 0;
}
Run Code Online (Sandbox Code Playgroud)
感觉有一些方法可以做到这一点。对我来说,可选属性意味着值可能丢失、为空或未设置,但是当我想设置默认值时,它仅在属性丢失或为空时才有效。在这些情况下,它仍然将 value 设置为 null 或 undefined,这似乎令人困惑。
我想知道,是否可以将DataProvider / Resource / List配置为支持REST url api/users/1/roles?
对于RESTful API,获取某些父实体的子代是非常常见的用例,但是我无法弄清楚它如何设置React Admin并实现这一点。我在OData规范后端上使用自定义DataProvider。
我知道我可以通过过滤请求api/roles?filter={userId: 1}或类似方法获取某些用户的角色,但是我的问题是我的用户和角色处于多对多关系,因此关系引用存储在数据透视表中。换句话说,我在角色表中没有关于用户的引用,因此无法过滤它们。
我是在监督什么,还是有一些我根本看不到的方法?
编辑:REST API是在OData规范中构建的,它支持与经典数据透视表(或中间表)的多对多关系。该表未在API中公开,但在上面的网址中使用。所以我不能直接作为资源访问它。
用户模式-角色关系看起来也很标准。
|----------| |-----------| |--------|
| USER | | User_Role | | Role |
|----------| |-----------| |--------|
| Id |-\ | Id | /-| Id |
| Login | \-| UserId | / | Name |
| Password | | RoleId |-/ | Code |
|----------| |-----------| |--------|
Run Code Online (Sandbox Code Playgroud)