2017-01-17 4 views
-6

Как заставить Vuejs добавить в таблицу несколько форм данных при нажатии кнопки? Я могу сделать это только с одной формой, мне нужно сделать это с формой ввода и выбора, а когда я нажму кнопку, чтобы добавить ее в список. Благодарю.Как вставить форму данных в таблицу при нажатии кнопки?

Вот пример: http://embed.plnkr.co/aax7vC/

+0

Мы не можем помочь вам, если вы показать нам код, и что вы пробовали уже. –

+0

Да, конечно. Вот пример: http://embed.plnkr.co/aax7vC/ –

+0

Так в чем ваш вопрос? Вы хотите добавить окно выбора в свою форму? –

ответ

0

Из вашего примера, я предполагаю, что вы хотите, чтобы несколько полей, чтобы войти в список элементов. Это означает, что все зависит от вашей модели данных. Вы должны реплицировать структуру «таблицы», которая требуется для одного отдельного элемента. Поэтому просто объявите объект с этими полями и привяжите данные. Затем, когда вы нажимаете «Добавить», просто добавьте этот объект (если ваш массив имеет тот же тип).

app = new Vue({ 
    el: "#main", 
    data: { 
    users: [], 
    newElement: {user:"",status:""} 
    }, 
    methods: { 
    addUser: function(){ 
     this.users.push({user:this.newElement.user,status:this.newElement.status}); 
     this.newElement = {user:"",status:""}; 
    }, 
    removeUser: function(item){ 
     this.users.splice(item,1); 
    } 
    } 
}); 

Обратите внимание, что push реплицирует структуру, а не просто добавляет this.newElement. Это вызовет ссылку, и когда вы очистите newElement, она будет очищена в массиве. Тогда ваш HTML может быть так:

 <input type="text" v-model="newElement.user"> 
 
     <select v-model="newElement.status"><option>Hired</option><option>Fired</option></select> 
 
     <button v-on="click: addUser()" v-attr="disabled: newElement.user ===''">Add</button> 
 
     <p v-if="users.length > 0">Click to remove</p> 
 
     <ul> 
 
     <li v-repeat="u : users" v-on="click: removeUser(u)">{{u.user}} {{u.status}}</li> 
 
     </ul>

+0

Омг, большое вам спасибо. Выполняет перфекционизм. Чтобы добавить больше, просто следуйте так же, как и вы? –

+0

Да, просто добавьте больше свойств, и это должно быть ОК –

+0

Локальное хранилище, которое было в коде, перестало работать, знаете ли вы, почему? –

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