SSearchField <s-search-field>
Um campo de texto para consultas de pesquisa. SSearchField é o wrapper de Vue 3 tipado do web component <s-search-field> do Shopify Polaris.
ts
import { SSearchField } from 'polaris-vue-elements'Boas práticas
- Use para filtrar no próprio lugar. Ele é adequado para restringir o conteúdo de uma seção ou lista específica. Navegação global ou buscas complexas e com várias etapas pedem um padrão de busca mais robusto.
- Diga o que está sendo buscado. Escreva um
labele umplaceholderespecíficos que informem aos lojistas qual conteúdo a busca abrange e por quais atributos eles podem buscar. - Responda enquanto os lojistas digitam. Sempre que possível, atualize os resultados ou o conteúdo filtrado enquanto os lojistas digitam, para que eles possam refinar a consulta e confiar que a busca está funcionando.
- Planeje para buscas apagadas e sem resultados. Quando o campo for limpo, mostre a lista completa novamente. Quando nada corresponder, mostre uma mensagem que sugira outra ação ou uma busca mais ampla.
- Espere por uma entrada suficiente. Evite executar buscas que retornariam resultados demais ou sem sentido; começar após dois ou três caracteres dá o suficiente para retornar correspondências úteis.
vue
<SSearchField label="Search products" placeholder="Search by title, SKU or vendor" />Veja as boas práticas da Shopify para <s-search-field> (em inglês) para todas as recomendações.
Exemplo
Value: (empty)
vue
<script setup>
import { ref } from 'vue'
import { SSearchField } from 'polaris-vue-elements'
const value = ref('')
</script>
<template>
<SSearchField label="Search products" placeholder="Search" v-model="value" />
<p>Value: {{ value }}</p>
</template>v-model
v-model em <SSearchField> se vincula à propriedade value e escuta o event DOM input.
template
<SSearchField v-model="value" />equivale a:
template
<SSearchField :value="value" @input="value = $event.target.value" />Props
| Prop | Tipo | Descrição |
|---|---|---|
autocomplete | "language" | "organization" | "name" | "additional-name" | "address-level1" | "address-level2" | "address-level3" | "address-level4" … (84 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 <SSearchField>.
Slots
| Slot | Descrição |
|---|---|
details | |
error |