Vuejs разделить на строку на массив

У меня есть строка, отформатированная в текстовом поле как разделенная запятыми, однако, когда я пытаюсь разделить ее, преобразовать ее в массив, чтобы перебирать их, я получаю сообщение об ошибке

Type 'string[]' is not assignable to type 'string'

Мое текстовое поле (с использованием ionic, но по сути просто текстовое поле при отображении

<ion-textarea type = "text" v-model = "CSVItems" placeholder = "e.g. chicken, rice, peas"></ion-textarea>

Данные/методы следующие (урезаны до необходимых для поста)

 data() {
    return {
      CSVItems: "",
      myResult: "",
    };
  },
  methods: {
     addItem: function() {
      this.myResult = this.CSVItems.split(",");
  },

split возвращает массив. Похоже, что vuejs применяет тип.
GetSet 23.12.2020 02:10
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
1
3 707
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Ошибка связана с попыткой сохранить массив строк в свойстве, объявленном как строка. Чтобы сообщить tslint о правильном типе, создайте экземпляр myResult как массив строк:

data: () => ({
  CSVItems: "",
  myResult: [] as string[]
})

Кроме того, вы можете также обрезать перед назначением:

this.myResult = this.CSVItems.split(',').map(s => s.trim());

Функция разделения в javascript для строки возвращает массив. Чтобы превратить его в строку, вы можете использовать Array.join, чтобы снова сделать их строкой.

Бывший.


let CSVItems = "Hello,World!"

console.info(CSVItems.split(',')
// ["Hello", "World!"]


// Array.join's parameter is what to append with Ex [1,2,3].join("t") = "1t2t3"
console.info(CSVItems.split(',').join(' '))
// "Hello World!"

Если вы хотите, чтобы myResult был массивом, вы должны установить его как один


 data() {
    return {
      CSVItems: "",
      myResult: [], // Make [] not ""
    };
  },
  methods: {
     addItem: function() {
      this.myResult = this.CSVItems.split(",");
  },

Другие вопросы по теме