亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Knex 在 TypeScript 中的 OrderBy

Knex 在 TypeScript 中的 OrderBy

Helenr 2022-12-29 09:38:37
我正在嘗試學習如何實現高級 Typescript 類型在knex.js中,一個實現orderBy是以下數組{ column: string, order: "asc" | "desc" }我想構建一個打字稿類型type OrderBy<T> = {  column: K in keyof T;  order?: "asc" | "desc";}因此,如果 T 是{ "propA": true, "propB": 1 },它會智能感知column應該是"propA"or"propB"并且順序是"asc"or "desc"。不幸的是,它不起作用。我嘗試使用現有的實現,但要么它們不夠具體,要么我不明白它是如何工作的。我將如何著手實施這個?
查看完整描述

1 回答

?
慕的地6264312

TA貢獻1817條經驗 獲得超6個贊

要獲取通用 T 中的鍵,您只需要執行keyof T,您的代碼將如下所示:


interface Column { "propA": true, "propB": 1 }


type OrderBy<T> = {

  column: keyof T;

  order?: "asc" | "desc";

}


// Since knex's OrderBy is an array, your code could be like

const knex: Array<OrderBy<Column>> = [{ column: "propA", order: "asc"  }]

你可以在 TS playground https://tsplay.dev/lm0Lam中看到這段代碼



查看完整回答
反對 回復 2022-12-29
  • 1 回答
  • 0 關注
  • 84 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號