SUrlField <s-url-field>
Um campo de texto para endereços web. SUrlField é o wrapper de Vue 3 tipado do web component <s-url-field> do Shopify Polaris.
ts
import { SUrlField } from 'polaris-vue-elements'Boas práticas
- Valide as URLs você mesmo. A validação de URL nativa do navegador é mínima e varia entre navegadores, então adicione suas próprias verificações de estrutura, de protocolos permitidos e dos formatos que o seu caso de uso aceita.
- Mostre o formato esperado. Diga aos lojistas se devem incluir um protocolo, quais protocolos são permitidos e que tipo de URL você quer. Uma URL de exemplo completa no
placeholderdeixa isso claro. - Decida como lidar com a falta de protocolo. Os lojistas costumam omitir o
https://. Escolha se você vai adicioná-lo por eles, aceitar URLs sem ele ou mostrar umerrorque explique o que está faltando. - Escolha limites de tamanho de acordo com onde a URL é usada. Navegadores e servidores suportam tamanhos máximos diferentes, então defina
maxLengthcom base no destino da URL em vez de um número arbitrário, e mencione o limite quando ele for relevante. - Explique para que serve a URL. Use o
labele osdetailspara deixar o propósito claro, já que uma URL de imagem de produto, um link de perfil em rede social e uma referência externa pedem coisas diferentes.
vue
<SUrlField label="Product image URL" placeholder="https://example.com/images/product.jpg" details="Link directly to a JPG or PNG file." />Veja as boas práticas da Shopify para <s-url-field> (em inglês) para todas as recomendações.
Exemplo
Value: (empty)
vue
<script setup>
import { ref } from 'vue'
import { SUrlField } from 'polaris-vue-elements'
const value = ref('')
</script>
<template>
<SUrlField label="Website" placeholder="https://example.com" v-model="value" />
<p>Value: {{ value }}</p>
</template>v-model
v-model em <SUrlField> se vincula à propriedade value e escuta o event DOM input.
template
<SUrlField v-model="value" />equivale a:
template
<SUrlField :value="value" @input="value = $event.target.value" />Props
| Prop | Tipo | Descrição |
|---|---|---|
autocomplete | "photo" | "url" | "impp" | "home impp" | "mobile impp" | "fax impp" | "pager impp" | "on" … (15 more) | Uma indicação sobre o conteúdo esperado do campo. Quando definida como on (o padrão), esta propriedade indica que o campo deve oferecer suporte ao preenchimento automático, mas você não tem mais informações semânticas sobre o conteúdo esperado. Quando definida como off, você indica que este campo contém informações confidenciais ou conteúdo que nunca é salvo, como códigos de uso único. Como alternativa, você pode fornecer um valor que descreva os dados específicos que deseja que sejam inseridos neste campo durante o preenchimento automático. |
defaultValue | string | O valor padrão do campo. |
details | any | Texto adicional que oferece contexto ou orientação sobre o campo. Esse texto é exibido junto com o campo e seu rótulo para oferecer mais informações ou instruções ao usuário. Ele também é exposto aos usuários de leitores de tela. |
disabled | boolean | Desativa o campo, impedindo qualquer interação. |
error | any | Indica um erro ao usuário. O campo recebe um tratamento visual específico para comunicar problemas que precisam ser resolvidos imediatamente. |
id | string | Um identificador exclusivo para o elemento. |
label | any | Conteúdo usado como rótulo do campo. |
labelAccessibilityVisibility | "visible" | "exclusive" | Altera a visibilidade do rótulo do componente. - visible: o rótulo fica visível para todos os usuários. - exclusive: o rótulo fica visualmente oculto, mas permanece na árvore de acessibilidade. |
maxLength | number | Especifica o número máximo de caracteres permitidos. |
minLength | number | Especifica o número mínimo de caracteres permitidos. |
name | string | Um identificador do campo que é exclusivo dentro do formulário contêiner mais próximo. |
placeholder | string | Uma breve indicação que descreve o valor esperado do campo. |
readOnly | boolean | O campo não pode ser editado pelo usuário. Ele pode receber foco e é anunciado pelos leitores de tela. |
required | boolean | Se o campo exige um valor. Este requisito adiciona valor semântico ao campo, mas não faz um erro aparecer automaticamente. Se quiser exibir um erro quando este campo estiver vazio, você pode fazer isso com a propriedade error. |
value | string | O valor atual do campo. Se omitido, o campo ficará vazio. |
Algumas colunas de tipo acima estão truncadas para facilitar a leitura; a união completa está disponível nos tipos TypeScript gerados da biblioteca (
src/lib/generated/types.ts).
Events
| Event | Tipo |
|---|---|
blur | FocusEvent |
change | Event |
focus | FocusEvent |
input | Event |
Escute-os com listeners no estilo @blur em <SUrlField>.
Slots
| Slot | Descrição |
|---|---|
details | |
error |