Hi Everyone,
Neste artigo, vou explicar como desativar as teclas de retrocesso e delete usando a função manipuladora de eventos Multi Input no SAP Ui5
Consulte este link para saber mais sobre MultiInput:
https://sapui5.hana.ondemand.com/sdk/#/api/sap.m.MultiInput%23overview
Primeiramente, no arquivo Xml, precisamos adicionar o campo de entrada múltipla como abaixo com a propriedade "token update",
Em UI5, o controle MultiInput permite aos usuários inserir múltiplos valores em um único campo de entrada. O evento tokenUpdate é acionado quando um token é adicionado, removido ou alterado no controle MultiInput. O manipulador de eventos
tokenUpdate
recebe um único parâmetro, que é um objeto contendo informações sobre o evento.
Para evitar que os usuários excluam ou retrocedam valores em um controle MultiInput no SAP UI5, você pode adicionar uma função manipuladora de eventos que desativa as teclas de retrocesso e delete. Esta função pode ser acionada quando um usuário pressiona uma tecla em seu teclado enquanto interage com o controle MultiInput.
<MultiInput id="Input1" customData:hasValue="false" valueHelpOnly="true" valueHelpRequest="onNumber" tokenUpdate="ChangeToken"></MultiInput>
Este código abaixo é usado para desativar as teclas de retrocesso e delete em uma função manipuladora de eventos em JavaScript. A função manipuladora de eventos é acionada quando um usuário pressiona uma tecla em seu teclado.
As propriedades event.which, event.keyCode e event.charCode são usadas para determinar qual tecla foi pressionada. Diferentes navegadores podem usar propriedades diferentes, então todas as três são verificadas para garantir máxima compatibilidade.
A variável key então recebe o valor do código da tecla que foi pressionada. Os valores 8 e 46 correspondem às teclas de retrocesso e delete, respectivamente.
A instrução if verifica se a variável key corresponde a algum desses valores. Se corresponder, a instrução de desativação é executada. No entanto, este código por si só não parece estar completo, pois disable não é uma instrução JavaScript válida, e não está claro o que está sendo desativado exatamente.
É possível que este código tenha a intenção de evitar que o usuário exclua ou retroceda um valor em um campo de entrada.
ChangeToken: function (oEvent) {
var key = event.which || event.keyCode || event.charCode;
if (key == 8 || key == 46)
{
disable;
}
}
Saída:
Na imagem acima, podemos ver a entrada múltipla com token que pode ser removido clicando no botão X e os tokens não serão removidos clicando nas teclas delete ou retrocesso.
Conclusão:
Em conclusão, desativar as teclas de retrocesso e delete em uma função manipuladora de eventos para um controle MultiInput no SAP UI5 pode evitar que os usuários excluam acidentalmente ou intencionalmente valores. Usando as propriedades which, keyCode e charCode do objeto de evento para detectar