useTableWithCustomKey 的第二个参数 keyName 的类型应该是 T 中所有类型是 string 类型的字段名称。 然后用 useTableForName 这种形式调用是没问题的 但是用 useTable 这种再套一个 T extends { name: string },然后传入 name 就不行了,报错是 Argument of type 'string' is not assignable to parameter of type 'keyof StringOnly<T>'. Type '"name"' is not assignable to type '(T[K] extends string ? K : never) | (T["name"] extends string ? "name" : never)'.ts(2345)