iT邦幫忙

0

13.代辦清單-新增

  • 分享至 

  • xImage
  •  

今天來練習一個小小的代辦清單:
https://ithelp.ithome.com.tw/upload/images/20231007/201634684TStY87pZw.png
新增功能:
1.生成列表結構 v-for
2.獲取用戶輸入 (v-model 雙向數據綁定)
3.enter,新增數據 (v-on .enter 添加內容)

<div id="todo-list">
        <p>待辦事項清單</p>
        <input type="text" placeholder="請輸入事項" v-model="message.title" @keyup.enter="add">
<!--綁定輸入框的值到message.title,並在按下Enter時觸發add函數以新增待辦事項-->
        <section>
            <ul class="todo">
                <li v-for="(item, index) in lists" :key="index">
<!-- 給每個被迭代的元素分配一個唯一的識別鍵 -->
                    <label>
                        <input type="checkbox" v-model="item.todo">
                        {{ index + 1 }} / {{ item.title }} 
                    </label>
                </li>
            </ul>
        </section>
    </div>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script><script>
	 var app = new Vue({
        el: "#todo-list",
        data: {
            lists: [
                { title: "念日文", todo: false },
                { title: "看小說", todo: false },
                { title: "畫畫", todo: false }
            ],
            message: {
                title: "",  //代辦項目
                todo: false  //未完成
            },
        },
        methods: {
            add() {
                if (this.message.title.trim() === "") return; 
// 不添加空項目(.trim 過濾輸入的首尾空白字符)
                // 複製 message 對象以避免重複添加引用
                var newItem = {
                    title: this.message.title,
                    todo: false 
                };
                this.lists.push(newItem); //新增新項目到清單裡
                this.message.title = ''; // 清空輸入框
            } }
 });
    </script>

https://ithelp.ithome.com.tw/upload/images/20231007/20163468rtU9U0szE6.png
參考資料:
https://www.bilibili.com/video/BV1HE411e7vY/?p=19&share_source=copy_web&vd_source=85a8c5bb37dc77d30860d2b3537de967


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言