Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

input-string.vue 1.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <template lang="pug">
  2. .form--step.input-string
  3. header
  4. p input {{input}}
  5. main.f-col
  6. input(v-if="!multiline" v-model="input")
  7. textarea(v-else cols="50" rows="8" v-model="input")
  8. button(@click="selectOption").w-full next
  9. </template>
  10. <script setup>
  11. import { defineProps, defineEmits, ref } from 'vue'
  12. const emit = defineEmits(['onButtonSelect'])
  13. const props = defineProps({
  14. default: {
  15. required: true,
  16. type: String,
  17. default: () => 'start',
  18. },
  19. multiline: {
  20. required: false,
  21. type: Boolean,
  22. default: true,
  23. },
  24. prompt: {
  25. required: true,
  26. type: String
  27. },
  28. })
  29. const input = ref(props.default)
  30. const selectOption = () => {
  31. const sel = {}
  32. sel[props.prompt] = input.value
  33. emit('selected', sel)
  34. }
  35. </script>
  36. <style lang="postcss">
  37. // prettier-ignore
  38. @import '@/sss/theme.sss'
  39. .input-string
  40. color: white
  41. main
  42. flex-wrap: wrap
  43. button
  44. padding: 1em
  45. border: 2px teal solid
  46. border-radius: 4px
  47. &.selected
  48. border: 2px teal dotted
  49. </style>