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