2016-05-12 4 views
0

У меня есть приложение, в котором пользователи копируют и вставляют текст с разделителями табуляции. Я хочу взять текст и сделать в таблицу (каждый новый столбец является вкладкой, а каждая новая строка - новой строкой в ​​вставленном тексте.angularjs: скопировать и вставить вкладку с разделителем текста в textarea, а затем преобразовать в таблицу

У меня есть следующее, которое строит список для каждой новой строки в вставленном текст, но как я могу получить массив из вкладки текст с разделителями?

<div ng-app> 

    <textarea ng-model="items" ng-list="/\n/"></textarea> 
    <table> 
    <tbody> 
     <tr ng-repeat="item in items"> 
     <td> 
      {{item}} 
     </td> 
     </tr> 
    </tbody> 
    </table> 

</div> 

Поскольку я не могу вставить текст с разделителями табуляции здесь без него переформатирования ... Чтобы получить табуляцией текстовый копирование и вставка из блокнота или таблицы .

ответ

2

Разве это не работает для вас? http://jsbin.com/bosamuhoti/1/edit

Вот отрывок:

Угловая приложение

angular.module('myapp', []) 
.controller('myCtrl', ['$scope', function($scope){ 
    $scope.items = []; 
    $scope.table = []; 

    $scope.$watch("items", (newValue, oldValue) => { 

    for (var item of newValue) { 
     $scope.table.push(item.split('\t')); 
     } 

    }); 
}]); 

И соответствующий HTML

<textarea ng-model="items" ng-list="&#10;" ng-trim="false"></textarea> 

    <table border="1"> 
    <tbody> 

     <tr ng-repeat="item in table track by $index"> 
     <td ng-repeat="data in item track by $index"> 
      {{data}} 
     </td> 
     </tr> 
    </tbody> 
    </table> 
+0

нет. это делает то, что делает мой код. – forwardslashend

+0

Вы можете предоставить набор данных, с которыми вы тестируете свое решение? – uglycode

+0

Я отредактировал свое оригинальное сообщение, чтобы включить мои тестовые данные (разделители с табуляцией, две строки). – forwardslashend

Смежные вопросы