亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue如何實現本地存儲添加刪除修改功能

發布時間:2021-11-25 13:15:28 來源:億速云 閱讀:419 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關vue如何實現本地存儲添加刪除修改功能的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

具體內容如下

實現功能:

輸入的內容添加到正在進行列表中,

雙擊修改功能,

點擊esc鍵,取消,還是之前的內容,

點擊回車,修改成功,

修改框失焦時修改成功,

選中按鈕時進入已完成列表,未選中時在正在進行中列表,

點擊刪除進行刪除當行,

本地存儲下次打開上次添加的還在

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title></title>
  <style type="text/css">
  *{
   padding: 0;margin: 0;
  }
   ul{
    list-style: none;
   }
   li{
    width: 220px;
    height: 40px;
    border: 1px solid gainsboro;
    margin-top: 4px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #6CE26C;
   }
   .del{
    margin-right: 5px;
    border: none;
    width: 20px;
    height: 20px;
    background-color: #008200;
   }
  </style>
 </head>
 <body>
  <div id="app">
   <!-- 過濾輸入內容首尾空白符 -->
   <!-- 回車事件 -->
   <input type="text" v-model.trim="temp" @keyup.enter="additem()"/>
   <!-- 獲取正在進行的數量 -->
   <h4>正在進行中{{undolist.length}}</h4>
   <ul class="list">
    <!-- 將正在進行的內容遍歷顯示出來 -->
    <li class="item" v-for="item in undolist" :key="item.name">
     <div class="">
      <!-- 多選框為未選中false狀態 -->
     <input type="checkbox" v-model="item.done" />
     <!-- 默認為state是0,當雙擊時state為1,內容賦給tempEdit-->
     <span v-show="item.state==0" @dblclick="item.state=1;tempEdit=item.name">{{item.name}}</span>
     <!-- input框內容為tempEdit的值,state=1時顯示輸入框,
     點擊esc時state為零隱藏,內容還是原來的值,不進行修改,
     當回車時state為0就隱藏input框,將修改過得tempEdit,賦給item.name
     當失焦時state為0就隱藏input框,將修改過得tempEdit,賦給item.name
      -->
     <input type="text" v-model="tempEdit" v-show="item.state==1" 
     @keyup.esc="item.state=0;tempEdit=item.name"
     @keyup.enter="item.state=0;item.name=tempEdit"
     @blur="item.state=0;item.name=tempEdit"
     />
     </div>
     <!-- 點擊刪除時刪除其內容 -->
     <button type="button" @click="removeitem(item)" class="del">X</button>
    </li>
   </ul>
   <!-- 已完成數量 -->
   <h4>已經完成{{doneList.length}}</h4>
   <ul class="list">
    <!-- 將已完成的內容遍歷顯示出來 -->
    <li class="item" v-for="item in doneList" :key="item.name">
     <div class="">
      <!-- 多選框為選中true狀態 -->
     <input type="checkbox" v-model="item.done" />
     <!-- 默認為state是0,當雙擊時state為1,內容賦給tempEdit-->
     <span v-show="item.state==0" @dblclick="item.state=1;tempEdit=item.name">{{item.name}}</span>
     <!-- input框內容為tempEdit的值,state=1時顯示輸入框,
     點擊esc時state為零隱藏,內容還是原來的值,不進行修改,
     當回車時state為0就隱藏input框,將修改過得tempEdit,賦給item.name
     當失焦時state為0就隱藏input框,將修改過得tempEdit,賦給item.name
      -->
     <input type="text" v-model="tempEdit" v-show="item.state==1" 
     @keyup.esc="item.state=0;tempEdit=item.name"
     @keyup.enter="item.state=0;item.name=tempEdit;"
     @blur="item.state=0;item.name=tempEdit;"
     />
     </div>
     <!-- 點擊刪除時刪除其內容 -->
     <button type="button" @click="removeitem(item)" class="del">X</button>
    </li>
   </ul>
  </div>
 </body>
 <script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
 <script type="text/javascript">
  var vm=new Vue({
   el:"#app",
   data(){
    return{
     // 清單列表
     // getItem是獲取本地存儲數據,
     // ||"[]"如果獲取不到轉換為空的數組
     list:JSON.parse(localStorage.getItem("list")||"[]"),
     // 臨時添加的數據存放處
     temp:'',
     // 修改框的臨時數據存放處
     tempEdit:''
    }
   },
   methods:{
    // 添加
    additem(){
     // 文本框為空時就返回
     if(this.temp===""){return;}
     // 添加到后面
     this.list.push({
      name:this.temp,
      done:false,
      state:0
     })
     // 清空臨時框
     this.temp="";
    },
    // 刪除
    removeitem(item){
     // 彈框
     var flag=window.confirm("確定要刪除嗎?");
     if(flag){
      // 查找符合條件元素的索引值
      var ind=this.list.findIndex(value=>value.title===item.title);
      // splice從第ind刪除一個
      this.list.splice(ind,1);
     }
    }
   },
   computed:{
    // 通過計算把現有的list數據計算出已完成和未完成
    // 未完成
    undolist(){
     // filter數組的過來函數,如果返回結果為真則當前遍歷的數據保留
     // 否則就會被過濾掉
     return this.list.filter(item=>!item.done);
     
    },
    // 已完成
    doneList(){
     return this.list.filter(item=>item.done);
    }
   },
   watch:{
    "list":{
     handler(){
      // setItem設置本地數據
      // JSON.stringify把js對象轉換為json字符串
      // JSON.prase把字符串轉換為js對象
      localStorage.setItem("list",JSON.stringify(this.list))
     },
     deep:true,
    }
   }
  })
 </script>
</html>

vue如何實現本地存儲添加刪除修改功能

感謝各位的閱讀!關于“vue如何實現本地存儲添加刪除修改功能”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

宜兰市| 内乡县| 巫山县| 铁力市| 射洪县| 盐边县| 蚌埠市| 来凤县| 岑溪市| 东安县| 淮北市| 大关县| 牡丹江市| 塔河县| 筠连县| 青阳县| 镇安县| 赤城县| 信丰县| 宜良县| 永济市| 阳曲县| 东乡县| 涡阳县| 绥化市| 修水县| 嵊泗县| 句容市| 翁牛特旗| 阿鲁科尔沁旗| 鞍山市| 体育| 达州市| 巴东县| 香河县| 玉田县| 同德县| 万年县| 齐齐哈尔市| 屏东县| 含山县|