1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          Vue + Element UI

          來源:互聯網轉載 時間:2024-01-29 07:43:31

          前言

          后臺管理系統,需要這個功能點的特別多,但Element UI 的table組件本身是不提供的,所以需要自行拓展一下。 在這里,給大家寫一個簡單的示例,希望對小伙伴們有所幫助。

          先看看效果圖:

          el-table

          我們直接去Element UI 官網 把 table組件的代碼copy過來

          <template>  <p>    <el-table      ref="filterTable"      :data="tableData"      style="width: 100%">      <el-table-column        prop="date"        label="日期"        width="180"      >      </el-table-column>      <el-table-column        prop="name"        label="姓名"        width="180">      </el-table-column>      <el-table-column        prop="address"        label="地址"        :formatter="formatter">      </el-table-column>      <el-table-column        prop="tag"        label="標簽"        width="100"        :filters="tagList"        :filter-method="filterTag"        filter-placement="bottom-end">        <template slot-scope="scope">          <el-tag            :type="scope.row.tag === '家' ? 'primary' : 'success'"            disable-transitions>{{scope.row.tag}}</el-tag>        </template>      </el-table-column>    </el-table>  </p></template><script>  export default {    data() {      return {        tagList: [{ text: '家', value: '家' }, { text: '公司', value: '公司' }],        tableData: [{          date: '2016-05-02',          name: '張三',          address: '深圳',          tag: '家'        }, {          date: '2016-05-04',          name: '李四',          address: '北京',          tag: '公司'        }, {          date: '2016-05-01',          name: '王五',          address: '上海',          tag: '家'        }, {          date: '2016-05-03',          name: '李六',          address: '北京',          tag: '公司'        }]      }    },    methods: {      filterTag(value, row) {        return row.tag === value;      },      formatter(row, column) {        return row.address;      }    }  }</script>

          稍稍的修整了一下,把tags的filters提到data里面作為變量了,后續可以用。

          然后我們添加一個按鈕,來添加行

          table動態插入行

          <template>  <p>    <el-button @click="add">添加一條</el-button>    <el-table      >      ...      ...    </el-table>  </p></template><script>...methods: {  add() {    this.tableData.push({      date: '2019-4-01',      name: '默認數據',      address: '上海',      tag: '公司',      status: 1    });  }}...</script>

          add方法,向el-table的數據源tableData里面push一條新的數據,并且添加一個字段,我這里叫status(名字隨便啦)。主要用來區分這條數據的當前狀態,是編輯態,還是已經保存了的。1就是編輯態,如果保存了,我們就改為0。

          有了status這個狀態,我們就去修改el-table組件,根據status這個狀態來判斷,是顯示可以編輯,還是不可編輯。

          el-table組件修改

          這時候,我們就去自定義每列內容

          日期列

          ...<el-table-column  prop="date"  label="日期"  width="180">  <template slot-scope="scope">    <el-date-picker      v-if="scope.row.status"      v-model="scope.row.date"      type="date"      placeholder="選擇日期">    </el-date-picker>    <span v-else>{{scope.row.date}}</span>  </template></el-table-column>

          判斷,如果scope.row.status有值(編輯態),我們就用日期組件el-date-picker,否則就用span標簽,直接渲染數據。

          這里日期組件同樣可以直接使用v-model雙向綁定。

          同理完成其他列

          姓名

          <el-table-column  prop="name"  label="姓名"  width="180">  <template slot-scope="scope">    <el-input v-if="scope.row.status" v-model="scope.row.name"></el-input>    <span v-else>{{scope.row.name}}</span>  </template></el-table-column>

          地址

          <el-table-column  prop="address"  label="地址"  :formatter="formatter">  <template slot-scope="scope">    <el-select  v-if="scope.row.status" v-model="scope.row.address" placeholder="請選擇">      <el-option        v-for="item in cityList"        :key="item"        :label="item"        :value="item">      </el-option>    </el-select>    <span v-else>{{scope.row.address}}</span>  </template></el-table-column>

          標簽

          <el-table-column  prop="tag"  label="標簽"  width="100"  :filters="tagList"  :filter-method="filterTag"  filter-placement="bottom-end">  <template slot-scope="scope">    <el-select  v-if="scope.row.status" v-model="scope.row.tag" placeholder="請選擇">      <el-option        v-for="item in tagList"        :key="item.value"        :label="item.text"        :value="item.value">      </el-option>    </el-select>    <el-tag      v-else      :type="scope.row.tag === '家' ? 'primary' : 'success'"      disable-transitions>{{scope.row.tag}}</el-tag>  </template></el-table-column>

          上面用到了1個變量,用來選擇城市的,我們在data里面添加一下

          ...data() {  return {    cityList: ['北京', '深圳', '上海']    ...  }}

          這樣就基本完成了第一張圖的功能,但是需要新增的時候,同時保存沒有保存的功能。

          保存

          這里我們會用到上面提到過的status,1是編輯態,如果保存了,我們就改為0。

          ok,在新增的時候,我們先判斷,有沒有未保存的數據,也就是有沒有數據的status為1,如果是1,我們就將這條數據的status改為0。

          ...add() {  this.tableData.map(item=>{    if(item.status){      item.status = 0;    }    return item;  })  ...}

          是不是超級簡單了?

          這里我們其實還有一個問題,日期重新選擇,保存后,格式不對,這個問題就留給大家了?看看你們有什么辦法來解決吧?期待你的答案。

          標簽:element td-
          上一篇:零網初探

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          阿根廷飛北京路線?首先,阿根廷和北京的距離接近19000公里。沒有直達航班,只有中轉。最受歡迎的路線之一是布宜諾斯艾利斯到法蘭克福,然后法蘭克福到北京或上海。另一條是連接布宜諾斯艾利斯和迪拜,然后從迪拜到北京或廣州。全程飛行不會少于30個小時,時間長,旅途辛苦。阿根廷飛北京路線?從洛杉磯轉機到東京,再從東京飛到北京。阿根廷到北京(兩國地理中心)的直線距離(飛行路線)為18898公里(11743英里...

          123木頭人是男的唱的嗎?《123木頭人》的這首歌的原唱是一個女子團體“黑女孩”?!?23木頭人》是一首由徐潔兒和王亞軍作詞,徐潔兒作曲,省黑人女孩演唱的歌曲,收錄在該樂隊2006年發行的專輯《粉紅高壓電》中。后來123 Woodenhead有了男版,由歌手水煮魚演唱。黑妹的原名是黑澀谷美美,是2006年由星媒社成立的省女子歌唱團體。這個組合之前有9個成員,分別是吳映潔、黃暐婷、周宜霈、王婧喬、詹...

          移動4g套餐哪個最劃算?8元天悅卡套餐最最合算8元天悅卡,月租8元,乾坤二卦30分鐘通話費,1元500M流量,自動續費,不用什么不花錢多。但,這個套餐好像老用戶肯定不能申請辦理。在網上有各種攻略這個可以做個參考,很多網友申請辦理成功了。我感覺這個套餐最合算,而且更適合保號,等待“攜號轉網”的用戶三大運營商4g套餐對比,哪一個更劃算?以貴州聯通為例,我公司有所推出4G全國組合套餐,里面乾坤二卦有流量...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>