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

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

如何在angular8中制表后使用shift + tab時選擇整個值

如何在angular8中制表后使用shift + tab時選擇整個值

慕蓋茨4494581 2022-06-05 10:24:38
我有一個輸入字段作為金額,其中貨幣格式已完成。在這里我輸入一些值并使用選項卡出來?,F在我使用 shift+tab 并轉到同一個字段,所以在這種情況下,我希望光標位于最后一位,我的意思是從右邊開始的第一個數字。相反,我希望默認選擇當前值,而不是將光標保持在最后一位上。示例:我鍵入213.98它被格式化為$213.98在 tab out 之后,當我在這里再次 tab 時,光標在 8 旁邊,而不是我想213.98被選中,并且基于箭頭鍵或鼠標我可以移動到我想要更改的數字。此外,當我執行 ctrl+Z 時,它會撤消所有更改。HTML:<input type="text" class="form-control" placeholder="Amount in dolars"            formControlName="amount" autocomplete="off" currencyInput maxDigits="9" [ngClass]="{ 'is-invalid': eoInfo.amount.dirty  && eoInfo.amount.invalid }">TS:this.eoInfoForm = this.FB.group({      amount: ['', Validators.required],    });
查看完整描述

2 回答

?
慕標5832272

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 事件,以便向您展示。 演示


查看完整回答
反對 回復 2022-06-05
?
萬千封印

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 = '';

}


查看完整回答
反對 回復 2022-06-05
  • 2 回答
  • 0 關注
  • 178 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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