How To Create TODO Application Using LWC
Hey There!
Now we gonna build Todo Web App using Lightning web component. It’s just like a step by step tutorial, don’t forget to follow all the step then it will be easy for you.
STEP 1: Create your TODO App
Follow The CLI steps to setup your app.
Note : you must have Node.js installed, with at least npm 5.2+.
npx lwc-create-app you-app-name cd your-app-name npm run watch
Now you will have an app folder structure like this.
STEP 2: Work with your component files.
Now you just check the src folder, Modules and components will be there.
open your follwoing files and paste the code
- App.html
- App.js
- App.css
Note : You can change Component files name based on your project name
<!-- App.html --> <template> <div class="center"> <img src="/resources/lwc.png" /> </div> <div class="toDo"> <div class="header"> <h2>My To Do List</h2> <input type="text" placeholder="Type Here..." onchange={handleToDoChanges} > <span class="addBtn" value={taskDetails} onclick={handleToDo}>Add</span> </div> <ul> <template for:each={todos} for:item="todo"> <li key={todo.id}> {todo.taskDetails} </li> </template> </ul> </div> </template>
// App.js import { LightningElement, track } from 'lwc'; export default class App extends LightningElement { TodoId = 2; @track todos = [ { id: 1, taskDetails: 'Write Story' }, { id: 2, taskDetails: 'Build Framework' } ]; @track taskDetails; handleToDoChanges(event){ this.taskDetails = event.target.value; } handleToDo(){ this.TodoId = this.TodoId + 1; this.todos = [ ...this.todos, { id: this.TodoId, taskDetails: this.taskDetails, } ]; } }
// App.css .center { text-align: center; } * { box-sizing: border-box; } ul { margin: 0; padding: 0; } ul li { cursor: pointer; position: relative; padding: 12px 8px 12px 40px; background: #eee; font-size: 18px; transition: 0.2s; list-style: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } ul li:nth-child(odd) { background: #f9f9f9; } ul li:hover { background: #ddd; } .header { background-color: #00a0df; padding: 30px 40px; color: white; text-align: center; border-radius: 15px; } .header:after { content: ""; display: table; clear: both; } input { margin: 0; border: none; border-radius: 0; width: 75%; padding: 10px; float: left; font-size: 16px; } .addBtn { padding: 10px; width: 25%; background: #d9d9d9; color: #555; float: left; text-align: center; font-size: 16px; cursor: pointer; transition: 0.3s; border-radius: 0; } .addBtn:hover { background-color: #bbb; } .center img{ width: 100px; } .toDo{ width:600px; margin: 0 auto; }
STEP 3: Run your app
Finally, run your app using CLI
npm run watch
Hope you got the TODO App, you can also download the source code from my GitHub page 🙂