1. 程式人生 > >20181214——另一個Vue專案第二個

20181214——另一個Vue專案第二個

想把div中的元素居中,使用line-height就行

刪除一項資料,找到這個資料索引的ID值,然後利用陣列的splice方法去刪除

陣列中some方法
some() 方法用於檢測陣列中的元素是否滿足指定條件(函式提供)。

some() 方法會依次執行陣列的每個元素:

如果有一個元素滿足條件,則表示式返回true , 剩餘的元素不會再執行檢測。
如果沒有滿足條件的元素,則返回false。

陣列中的splice()方法
1、刪除功能,第一個引數為第一項位置,第二個引數為要刪除幾個。

array.splice(index,num),返回值為刪除內容,array為結果值。

<!DOCTYPE html>
<html>
<body>
<script>
var array = ['a','b','c','d'];
var removeArray = array.splice(0,2);
alert(array);//彈出c,d
alert(removeArray);//返回值為刪除項,即彈出a,b
</script>
</body>
</html>

插入功能,第一個引數(插入位置),第二個引數(0),第三個引數(插入的項)

array.splice(index,0,insertValue),返回值為空陣列,array值為最終結果值

<!DOCTYPE html>
<html>
<body>
<script>
var array = ['a','b','c','d'];
var removeArray = array.splice(1,0,'insert');
alert(array);//彈出a,insert,b,c,d
alert(removeArray);//彈出空
</script>
</body>
</html>

替換功能,第一個引數(起始位置),第二個引數(刪除的項數),第三個引數(插入任意數量的項)

array.splice(index,num,insertValue),返回值為刪除內容,array為結果值。

<!DOCTYPE html>
<html>
<body>
<script>
var array = ['a','b','c','d'];
var removeArray = array.splice(1,1,'insert');
alert(array);//彈出a,insert,c,d
alert(removeArray);//彈出b
</script>
</body>
</html>

在做例項中
在這裡插入圖片描述
採用的是elementUI元件

 <template slot-scope="scope">
              <el-button @click="handleClick(scope.row)" type="text" size="small">刪除</el-button>
            </template>

這是scope.row 就是整列的這個物件
想要實現刪除這個物件
先在list陣列中找到該物件的索引
然後利用陣列中splice方法,進行索引刪除
程式碼如下:

<template>
    <div>
      <div class="header">新增品牌</div>
      <div class="box">
        <p class="input1"  form-inline>
          <el-row>
          <el-col :span="8">
            Id: <el-input v-model="idValue" placeholder="請輸入id" >ID</el-input>
          </el-col>
          <el-col :span="8">
            Name: <el-input v-model="nameValue" placeholder="請輸入name"></el-input>
          </el-col>
          <el-button type="primary" @click="btnAdd">新增</el-button>
          </el-row>
        </p>
      </div>
      <div class="list">
        <el-table
          :data="list"
          style="width: 100%">
          <el-table-column
            prop="id"
            label="id"
            width="180">
          </el-table-column>
          <el-table-column
            prop="name"
            label="名字"
            width="180">
          </el-table-column>
          <el-table-column
            prop="time"
            label="日期"
            width="300">
          </el-table-column>
          <el-table-column
            prop="opt"
            label="操作">
            <template slot-scope="scope">
              <el-button @click="handleClick(scope.row)" type="text" size="small">刪除</el-button>
            </template>
          </el-table-column>
        </el-table>
      </div>
    </div>
</template>

<script>
export default {
  name: 'Pinpai',
  data () {
    return {
      idValue: '',
      nameValue: '',
      list: [{
        id: '1',
        name: '寶馬',
        time: '2018-12-14'
      }, {
        id: '2',
        name: '賓士',
        time: '2018-12-24'
      }, {
        id: '3',
        name: '二手奧拓',
        time: '2018-10-24'
      }]
    }
  },
  methods: {
    btnAdd () {
      var date = new Date()
      var year = date.getFullYear()
      var month = date.getMonth()
      var day = date.getDay()
      var hour = date.getHours()
      var minute = date.getMinutes()
      var second = date.getSeconds()
      second = second < 10 ? '0' + second : second
      this.list.push({
        id: this.idValue,
        name: this.nameValue,
        time: year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second,
        opt: '刪除'
      })
      this.idValue = ''
      this.nameValue = ''
    },
    handleClick (row) {
      for (var i = 0; i < this.list.length; i++) {
        if (this.list[i] === row) {
          var index = i
        }
      }
      this.list.splice(index, 1)
    }
  }
}
</script>

<style scoped lang="stylus">
  .header
    height 50px
    background-color blue
    color aliceblue
</style>