欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于vue和bootstrap實現(xiàn)簡單留言板功能

 更新時間:2020年05月30日 12:00:37   作者:歡大喜。  
這篇文章主要為大家詳細介紹了基于vue和bootstrap實現(xiàn)簡單留言板功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了vue實現(xiàn)簡單留言板功能的具體代碼,供大家參考,具體內(nèi)容如下

作為一個剛開始接觸vue的前端小白,我想在這里記錄一些學習過程,希望和大家一起進步,如有不妥處之處,請多多指教呦。

今天呢,是我學習vue的第二天,我想制作一個簡易的留言板。功能很簡單,就是數(shù)據(jù)的增刪改查,下面開始步入正題:
大致布局如下:

1.html布局

如果大家不想自己去寫css樣式,使用bootstrap框架是一個很好地選擇,它提供了一套響應式、移動設備優(yōu)先的流式柵格系統(tǒng)。

<div id="app" class="container" >
 <h3>{{title}}:</h3>
 <ul class="form-group" style="max-height: 300px;overflow: auto;">
 <li class="list-group-item row" v-for="(item,index) in search" :key="item.id">
  <span class='col-sm-1' >{{item.nikename}}:</span>
  <span class='col-sm-5'>{{item.content}}</span>
  <span class='col-sm-2'>{{item.date}}</span>
  <button class='col-sm-2 btn btn-danger' type="button" @click="del(index,item.id)">刪除</button>
  <button class='col-sm-2 btn btn-info' type="button" @click="checkPre(index,item.id)">修改</button>
 </li>
 </ul>
 <br><br><br>
 <form class="form-horizontal" v-show="bl">
 <div class="form-group">
  <label for="search" class="col-sm-1 control-label">搜索</label>
  <div class="col-sm-11">
  <input type="text" class="form-control" id="search" placeholder="搜索留言" v-model="query" >
  </div>
 </div>
 <div class="form-group">
  <label for="nikename" class="col-sm-1 control-label">昵稱</label>
  <div class="col-sm-11">
  <input type="text" class="form-control" id="nikename" placeholder="請輸入昵稱" v-model="nikename">
  </div>
  </div>
  <div class="form-group">
 <label for="content" class="col-sm-1 control-label">內(nèi)容</label>
 <div class="col-sm-11">
  <textarea id="content" class="form-control" rows="3" v-model="content"></textarea>
 </div>
  </div>
  <button type="button" class="btn btn-success col-sm-1 col-sm-push-9" @click="add" >發(fā)表</button>
  <button type="button" class="btn btn-danger col-sm-1 col-sm-push-10" @click="clear" >清屏</button>
 </form> 
 <form class="form-horizontal" v-show="!bl">
  <div class="form-group">
 <label class="col-sm-1 control-label">修改:</label>
 <div class="col-sm-11">
  <textarea class="form-control" rows="3" v-model="changeContent"></textarea>
 </div>
  </div>
  <button type="button" class="btn btn-success col-sm-1 col-sm-push-11" @click="confirm">確認修改</button>
 </form> 
</div>

2.數(shù)據(jù)如下:由于沒有連接數(shù)據(jù)庫,所以采用了模擬數(shù)據(jù)

data:{
 title:'留言板',
 nikename:'',
 content:'',
 date:'',
 query:'',//查詢的內(nèi)容
 changeContent:'',//修改后的數(shù)據(jù)
 bl:true,
 list:[
 {id:1,nikename:"笑話",content:'今天天氣真好',date:'2020-02-27-18:06'},
 {id:2,nikename:"小草",content:'是呀,那咱們出去曬太陽吧',date:'2020-02-26-18:06'}
 ]
 },

3.增加(發(fā)表)功能:

add() {
 this.list.push({
  id: this.list.length + 1,
  nikename: this.nikename,
  content: this.content,
 date:this.getdate()
 })
 this.nikename='';
 this.content='';
 },

用戶輸入的昵稱和內(nèi)容都采用了雙向綁定,時間是獲取的當下時間,發(fā)表按鈕使用@click指令綁定了add函數(shù)。發(fā)表完后將昵稱和內(nèi)容框清空。

4.刪除功能:

del(index,id){
 this.list.splice(index,1)
 }
clear(){
 this.list = [];//不可直接將數(shù)組長度設為零,這是非響應式的操作
 },

刪除按鈕綁定del,點擊時刪除一條評論,清屏按鈕綁定clear,點擊時刪除所有評論。

5.修改功能:

checkPre(index,id){
 this.bl = !this.bl;
 this.nikename = this.list[index].nikename;
},
confirm(){
 this.list.forEach(function(item,index){
 if(item.nikename == vm.nikename){
 item.content = vm.changeContent;
 item.date = vm.getdate();
 }
 })
 this.bl = !this.bl;
 vm.nikename='';
},

點擊修改,改變vm.bl的值,并記錄當前評論的昵稱,修改框使用了v-show指令,當vm.bl值為false時顯示。點擊確認修改,根據(jù)當前昵稱尋找到要修改的評論,修改它的內(nèi)容和發(fā)表時間。

6.查詢功能:

computed:{
 search(){
 let result = [];
 this.list.forEach((item,index)=>{
 if(item.nikename.includes(this.query) || item.content.includes(this.query)){
 result.push(item)
 }
 })
 return result;
 },
},

查詢功能依賴的是查詢框輸入的內(nèi)容,因而使用了計算屬性。

如果大家還想深入學習,可以點擊這里進行學習,再為大家附3個精彩的專題:

Bootstrap學習教程

Bootstrap實戰(zhàn)教程

Bootstrap插件使用教程

關(guān)于vue.js組件的教程,請大家點擊專題vue.js組件學習教程進行學習。

更多vue學習教程請閱讀專題《vue實戰(zhàn)教程》

以上就是關(guān)于本文的全部內(nèi)容,希望對大家的學習有所幫助。

相關(guān)文章

  • vant如何實現(xiàn)Collapse折疊面板標題自定義

    vant如何實現(xiàn)Collapse折疊面板標題自定義

    這篇文章主要介紹了vant如何實現(xiàn)Collapse折疊面板標題自定義,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 詳解Vue調(diào)用手機相機和相冊以及上傳

    詳解Vue調(diào)用手機相機和相冊以及上傳

    這篇文章主要介紹了Vue調(diào)用手機相機及上傳,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • 詳解vue3+electron如何做到本地化

    詳解vue3+electron如何做到本地化

    要在Vue?3和Electron中實現(xiàn)本地化,可以使用類似于在Vue項目中進行本地化的方式,本文為大家介紹了一種常見的做法,希望對大家有所幫助
    2024-03-03
  • uniapp使用條件編譯#ifdef(跨平臺設備兼容)

    uniapp使用條件編譯#ifdef(跨平臺設備兼容)

    這篇文章主要介紹了uniapp使用條件編譯#ifdef(跨平臺設備兼容),需要的朋友可以參考下
    2022-12-12
  • vue跳轉(zhuǎn)同一個路由參數(shù)不同的問題

    vue跳轉(zhuǎn)同一個路由參數(shù)不同的問題

    這篇文章主要介紹了vue跳轉(zhuǎn)同一個路由參數(shù)不同的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 一篇文章讓你看懂封裝Axios

    一篇文章讓你看懂封裝Axios

    axios的封裝和api接口的統(tǒng)一管理,其實主要目的就是在幫助我們簡化代碼和利于后期的更新維護,這篇文章主要給大家介紹了關(guān)于封裝Axios的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • vue 里面的 $forceUpdate() 強制實例重新渲染操作

    vue 里面的 $forceUpdate() 強制實例重新渲染操作

    這篇文章主要介紹了vue 里面的 $forceUpdate() 強制實例重新渲染操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Vue3用Proxy替代defineProperty的原因

    Vue3用Proxy替代defineProperty的原因

    vue的人都知道,vue3里面使用了proxy替換了defineProperty,本文主要介紹了Vue3用Proxy替代defineProperty的原因,具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • vue中深度選擇器圖文詳解

    vue中深度選擇器圖文詳解

    在Vue的開發(fā)中,我們經(jīng)常會用到外部組件庫,下面這篇文章主要給大家介紹了關(guān)于vue中深度選擇器的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • Vue3中創(chuàng)建異步組件的流程步驟

    Vue3中創(chuàng)建異步組件的流程步驟

    在現(xiàn)代前端開發(fā)中,組件的重用性和異步加載是提升用戶體驗和優(yōu)化性能的關(guān)鍵因素,在Vue 3中,創(chuàng)建異步組件變得更為便利,本文將探討如何在Vue 3中使用setup語法糖來創(chuàng)建異步組件,感興趣的小伙伴跟著小編一起來看看吧
    2024-09-09

最新評論