Skip to content

STextArea <s-text-area> ​

Um campo de texto de várias linhas para conteúdo mais longo, como notas ou descrições. STextArea é o wrapper de Vue 3 tipado do web component <s-text-area> do Shopify Polaris.

ts
import { STextArea } from 'polaris-vue-elements'

Boas práticas ​

  • Dimensione de acordo com a resposta esperada. O número de rows visíveis indica quanto escrever: uma área curta convida a uma resposta breve, enquanto uma mais alta pede mais detalhes.
  • Defina limites de tamanho que reflitam necessidades reais. Escolha minLength e maxLength com base no que o conteúdo realmente exige e informe esses limites aos lojistas logo de início.
  • Use o placeholder como exemplo. Escreva um texto de placeholder que mostre o tipo de conteúdo, o formato e o tom que você espera, em vez de repetir para que serve o campo.
  • Mostre quanto espaço resta. Quando você impuser um tamanho máximo, deixe os lojistas verem quantos caracteres restam para que consigam ajustar o conteúdo sem ultrapassar o limite.
vue
<STextArea label="Product description" :rows="6" :maxLength="500" placeholder="Handwoven from organic cotton, this throw adds warmth to any room." />

Veja as boas práticas da Shopify para <s-text-area> (em inglês) para todas as recomendações.

Exemplo ​

Value: (empty)

vue
<script setup>
import { ref } from 'vue'
import { STextArea } from 'polaris-vue-elements'

const value = ref('')
</script>

<template>
  <STextArea label="Bio" placeholder="Tell us about yourself" :rows="3" v-model="value" />
  <p>Value: {{ value }}</p>
</template>

v-model ​

v-model em <STextArea> se vincula à propriedade value e escuta o event DOM input.

template
<STextArea v-model="value" />

equivale a:

template
<STextArea :value="value" @input="value = $event.target.value" />

Props ​

PropTipoDescriçã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.
defaultValuestringO valor padrão do campo.
detailsanyTexto 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.
disabledbooleanDesativa o campo, impedindo qualquer interação.
erroranyIndica um erro ao usuário. O campo recebe um tratamento visual específico para comunicar problemas que precisam ser resolvidos imediatamente.
idstringUm identificador exclusivo para o elemento.
labelanyConteú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.
maxLengthnumberEspecifica o número máximo de caracteres permitidos.
minLengthnumberEspecifica o número mínimo de caracteres permitidos.
namestringUm identificador do campo que é exclusivo dentro do formulário contêiner mais próximo.
placeholderstringUma breve indicação que descreve o valor esperado do campo.
readOnlybooleanO campo não pode ser editado pelo usuário. Ele pode receber foco e é anunciado pelos leitores de tela.
requiredbooleanSe 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.
rowsnumberNúmero de linhas de texto visíveis.
valuestringO 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 ​

EventTipo
blurFocusEvent
changeEvent
focusFocusEvent
inputEvent

Escute-os com listeners no estilo @blur em <STextArea>.

Slots ​

SlotDescrição
details
error

Lançado sob a licença MIT. Logo do Vue por Evan You, CC BY-NC-SA 4.0.