当字段获得焦点时,是否可以自动选择输入字段的最后三个字符。
例如,输入字段的编号为" 123456"。当场地获得焦点时,我想要" 456"选择,以便我可以键入" 789"然后输入将具有值" 123789"。
我使用离子3。
答案 0 :(得分:0)
Angular 2 +
getLastDigits(value: string): number {
let digits: string;
let cutPoint: number;
if (value.length < 3) return value;
cutPoint = value.length - 3;
digits = value.substring(cutPoint);
return +digits;
}
&#13;
这应该可以解决问题。 this.getLastDigits(value.toString())
在传递值时将数字转换为字符串。
答案 1 :(得分:0)
此解决方案使用ElementRef
附带的<ion-item>
<ion-input type="text" #testInput (focus)="onFocus()">
</ion-input>
</ion-item>
,因为它容易受到XSS攻击。并将被用作最后的手段。
HTML:
import { Component, ViewChild, ElementRef } from '@angular/core';
...
export class TestPage{
@ViewChild('testInput', { read: ElementRef }) input:ElementRef;
private inputRef;
constructor(){}
ionViewDidLoad(){
this.inputRef = this.input.nativeElement.querySelector('input');
}
onFocus(){
let length = this.inputRef.value.length;
if(length > 3){
this.inputRef.setSelectionRange(length - 3, length)
}
else{
this.inputRef.select();
}
}
...
}
TS:
The patient has been diagnosed with DIA1