2 回答
TA貢獻1966條經驗 獲得超4個贊
onClick="this.select();"您可以通過添加輸入來自動選擇所有文本。如果您希望能夠執行 ctrl+z 您需要為您的輸入狀態添加一個偵聽器,如下所示:(input)="update($event.target.value);"然后在 update 方法中您可以執行this.history.push(value);. 因此,現在您應該有一個名為 history 的數組,其中包含已傳遞的所有不同值。
現在聽 ctrl+z keybind 撤消添加(keyup.control.z)="onKeydown($event)"到輸入的值,并在彈出歷史記錄并將新值設置為歷史記錄數組中的最新項目的方法中。如果您愿意,您還可以將先前的值保留在單獨的屬性中,并將其用作中間的步驟。
我希望這有點像你正在尋找的東西。
編輯1:
我不得不提一下,我從貨幣驗證器中注釋掉了 keydown 事件,以便向您展示。 演示
TA貢獻1891條經驗 獲得超3個贊
您可以select在.focusCurrencyInputDirective
@HostListener("focus", ["$event.target.value"])
onFocus(value) {
// on focus remove currency formatting
this.el.value = value.replace(/[^0-9.]+/g, '')
this.el.select();
}
現在您將能夠在單擊Shift+時選擇整個選項Tab。至于使用Ctrl+撤消所有更改z,您可以監聽keydown事件并相應地刪除輸入。在你的CurrencyInputDirective. 添加一個新HostListener的來監聽keydown.control.z事件。
@HostListener("keydown.control.z", ["$event.target.value"])
onUndo(value) {
this.el.value = '';
}
添加回答
舉報
