国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

input改造文件上傳,el-table的改造,點擊上傳,拖拽上傳,多選上傳

這篇具有很好參考價值的文章主要介紹了input改造文件上傳,el-table的改造,點擊上傳,拖拽上傳,多選上傳。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

第一個input標簽效果

input改造文件上傳,el-table的改造,點擊上傳,拖拽上傳,多選上傳,# css,vue.js,elementui,javascript

第二個input標簽的效果

input改造文件上傳,el-table的改造,點擊上傳,拖拽上傳,多選上傳,# css,vue.js,elementui,javascript

el-table的改造效果

input改造文件上傳,el-table的改造,點擊上傳,拖拽上傳,多選上傳,# css,vue.js,elementui,javascript

<template>
  <div class="outerBox">
    <div class="analyze" v-if="status">
      <div class="unFile">
        <div class="mainBox">
          // <img class="picture" src="../../static/images/upload.png" />
          <div class="title">上傳.log文件進行解析</div>
          <div class="clickBtn">
            <div class='notisfyWord'>上傳內容</div>
            <input
            type="file"
            id="fileInput"
            @change="handleFileChange"
            accept=".log"
            style="width:100%;height:100%;cursor: pointer;opacity:0"
          /></div>
        </div>
      </div>
    </div>
    <div class="fileBox" v-if="!status">
      <div class="upload">
        <div>上傳.log文件進行解析
          <input
            type="file"
            id="fileInput"
            @change="handleFileChange"
            accept=".log"
            style="width:100%;height:100%;opacity:0;cursor:pointer;position:absolute;top:0;left:0;"
          />
        </div>
        <div class="fileName">{{ fileName }}</div>
      </div>

      <div class="tableStyle">
        <el-table
          :data="tableData"
          height="70vh"
          style="width: 100%"
          :header-row-style="{
            color: 'white',
          }"
          :row-style="{
            color: 'white',
          }"
          :cell-style="{
            textAlign: 'center',
            border: '1px solid #0a1641',
          }"
          :header-cell-style="{
            textAlign: 'center',
            background: '#222d54',
            border: '1px solid #222d54',
          }"
          :row-class-name="tableRowClassName"
          v-loading="loading"
        >
          <el-table-column prop="sourceTime" label="時間" width="180">
          </el-table-column>
          <el-table-column prop="item" label="事項" width="150">
          </el-table-column>
          <!-- <el-table-column prop="msg" label="描述"> </el-table-column> -->
          <el-table-column prop="source" label="來源" width="100">
          </el-table-column>
          <el-table-column prop="subsystem" label="子系統"> </el-table-column>
          <el-table-column prop="level" label="嚴重等級"> </el-table-column>
          <el-table-column prop="value" label="值"> </el-table-column>
        </el-table>
        <!-- <el-pagination
          class="pagination"
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
          :current-page.sync="currentPage1"
          :page-size="100"
          layout="total, prev, pager, next"
          :total="1000"
        >
        </el-pagination> -->
      </div>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      loading: true,
      tableData: [],
      fileName: "",
      status: true,
      tableTotal:'',
      pageSize:100,
      midTableData: [],
      test:[
        {item:'qqqqq',unusual:'1'},
        {item:'qqqqq',unusual:'0'},
        {item:'qqqqq',unusual:'0'},
        {item:'qqqqq',unusual:'1'},
      ]
    };
  },
  mounted() {
    this.tableRowClassName;
  },
  methods: {
    clickBtn() {
      document.getElementById("fileInput").click();
    },
    handleFileChange(event) {
      const file = event.target.files[0];
      const fileType = file.name.split('.').pop();
      //if(fileType != 'log'){
       // this.$message.error('請上傳.log文件');
       // return
     // }
     // if(file.size >  50 * 1024){
     //   this.$message.error('最小上傳文件大小為50k');
      //  return
     // }
      this.fileName = file.name;
      this.status = false;
      // 模擬異步
      setTimeout(()=>{
        this.loading = false
        this.tableData = this.test;
      },2000)
    },
    tableRowClassName({ row, rowIndex }) {
      if (row.unusual === '0') {
        return "selected-row";
      } else {
        return "selected-rows";
      }
    },
    handleCurrentChange(val) {
      const start = val * 100
      const end = (val + 1) * 100
    },
  },
};
</script>

<style scoped>
::v-deep .selected-row {
  background-color: #e4d33d !important;
}
::v-deep .selected-rows {
  background-color: #0a1641 !important;
}
.outerBox {
  background: linear-gradient(180deg, #eaf4ff 0%, #042f61 100%);
}
.analyze {
  width: 100%;
  height: 100%;
  padding: 0 !important;
  display: flex;
  justify-content: center;
}

.upload {
  margin-top: 10px;
  line-height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  font-size: 15px;
  background-color: #045fcb;
  border-radius: 7px;
  margin-bottom: 10px;
  position: relative;
  cursor: pointer;
}

.selected-row {
  background-color: #e4d33d !important;
}

.tableStyle {
  width: 100%;
  /* background-color: #094b97; */
}

.el-button {
  color: white !important;
  background: linear-gradient(180deg, #82dde1 0%, #4bb8c0 100%) !important;
}

.exportBtn {
  position: absolute;
  right: 10px;
  bottom: 10px;
}

.unFile {
  width: 50%;
  height: 40%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 15%;
  background-color: #094b97;
  border-radius: 10px;
  border: 3px dashed #d4e1f3;
  overflow: hidden;
}

.picture {
  width: 150px;
}

.mainBox {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.title {
  color: white;
  font-size: 15px;
  display: flex;
  justify-content: center;
}

.clickBtn {
  overflow: hidden;
  opacity:1;
  color: white;
  border-radius: 5px;
  background-color: #2188ff;
  width:150px;
  height:50px;
  font-size: 15px;
  cursor: pointer;
  position: relative;
}
.notisfyWord{
  cursor: pointer;
  position: absolute;
  left:50%;
  top:50%;
  transform: translate(-50%,-50%);
}
.fileBox {
  background-color: #0a1642;
  padding: 10px;
}
.fileName {
  margin-left: 10px;
}
.pagination {
  display: flex;
  justify-content: right;
}
::v-deep .el-table--enable-row-hover .el-table__body tr:hover > td {
  color: black !important;
  background-color: #0460cb !important;
}

::v-deep .el-table__empty-text {
  color: white !important;
}
::v-deep .el-table__body-wrapper {
  background-color: #0a1641 !important;
}
::v-deep .el-table::before {
  background-color: #0a1642;
}
::v-deep .el-table .el-table__cell.gutter {
  background-color: #0a1642;
}
</style>

3、input本身支持拖拽上傳但要設置opcity為0,不能設置diaplay:none或者visiables

? 如果不使用拖拽上傳的話,只點擊上傳可使用如下

          <div
            class="clickBtn"
            @click="clickBtn"
          >
            上傳內容
          </div>
          <input
            type="file"
            id="fileInput"
            @change="handleFileChange"
            style="display: none"
          />

    clickBtn(){
      console.log("clickFackBtn");
      document.getElementById('fileInput').click()
    },

    handleFileChange(event) {
      const file = event.target.files[0];
      console.log(file);
    },

input同時也支持多選文件上傳<input mutilple/>

input改造文件上傳,el-table的改造,點擊上傳,拖拽上傳,多選上傳,# css,vue.js,elementui,javascript

4、表格效果

input改造文件上傳,el-table的改造,點擊上傳,拖拽上傳,多選上傳,# css,vue.js,elementui,javascript

只設置一小框的樣式文章來源地址http://www.zghlxwxcb.cn/news/detail-733762.html

      <el-table
        :data="tableData"
        height="calc(100vh - 230px)"
        style="width: 100%"
        :header-row-style="{}"
        :row-style="{}"
        :header-cell-style="{
          textAlign: 'center',
          color: 'white',
        }"
        v-loading="loading"
        :cell-style="cellStyle"
      >
        <el-table-column prop="siteRange" label="站點名稱" width="240">
        </el-table-column>
        <el-table-column prop="carName" label="車號"> </el-table-column>
        <el-table-column prop="troubleType" label="告警類型" width="130">
        </el-table-column>
        <el-table-column prop="troubleLevel" label="嚴重等級">
        </el-table-column>
      </el-table>
  methods: {
    cellStyle({ row, column }) {
      if (
        column.property === "troubleLevel" &&
        row.troubleLevel == "三級告警"
      ) {
        return {
          color: "#F6BD16", // 設置字體顏色
          textAlign: "center",
        };
      } else if (
        column.property === "troubleLevel" &&
        row.troubleLevel == "二級告警"
      ) {
        return {
          color: "#FF9D4D",
          textAlign: "center",
        };
      } else if (
        column.property === "troubleLevel" &&
        row.troubleLevel == "一級告警"
      ) {
        return {
          color: "#F6BD16",
          textAlign: "center",
        };
      } else {
        return {
          color: "white",
          textAlign: "center",
        };
      }
    },
  },

到了這里,關于input改造文件上傳,el-table的改造,點擊上傳,拖拽上傳,多選上傳的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • el-table中的el-input標簽修改值,但界面未更新,解決方法

    el-table中的el-input標簽修改值,但界面未更新,解決方法

    在el-table中的el-input里面寫的change事件根本不觸發(fā),都不打印,試了網絡上各種方法都沒用 然后換成input事件,input事件會觸發(fā),但界面也未更新。我在觸發(fā)事件的時候,生成一個值,用于刷新界面再綁定到el-table上,但會導致界面強制刷新,體驗感很差, 解決 把生成的key值綁

    2024年02月06日
    瀏覽(22)
  • vue + el-table點擊表頭改變其當前樣式

    vue + el-table點擊表頭改變其當前樣式

    廢話不多說,先看效果: 網上找了一大圈沒有符合的,只能自己看著搞: 直接貼代碼: 這種寫法經使用過程中發(fā)現問題,故修改為以下:

    2024年02月13日
    瀏覽(22)
  • element-plus el-table、動態(tài)添加、刪除行、input輸入框

    模板部分,使用 el-table 元素作為表格容器,綁定 data 屬性傳入表格數據。用 v-for 指令遍歷每一項數據,使用普通文本或 el-input 組件渲染每個單元格。表格最后一列為操作列,包含 “Add” 和 “Delete” 兩個按鈕,點擊它們可以增加或刪除數據行: 邏輯部分,定義 tableData 數據

    2024年02月06日
    瀏覽(21)
  • el-table【合并行】+【篩選功能】+【配置列】+【點擊跳轉】功能

    el-table【合并行】+【篩選功能】+【配置列】+【點擊跳轉】功能

    效果圖: ? 1.?【合并行】 通過給 table 傳入 span-method 方法可以實現合并行或列,方法的參數是一個對象,里面包含當前行 row 、當前列 column 、當前行號 rowIndex 、當前列號 columnIndex 四個屬性。該函數可以返回一個包含兩個元素的數組,第一個元素代表 rowspan ,第二個元素代

    2024年02月16日
    瀏覽(25)
  • [element-ui] el-table點擊高亮當前行

    1、highlight-current-row 2、:row-class-name=“tableRowClassName”,需要借助@row-click=\\\"handleRowClick\\\"獲取當前點擊行的下標 參考: elementUI中table點擊高亮當前行的兩種方式

    2024年03月21日
    瀏覽(31)
  • element ui - el-table給單元格添加點擊事件

    element ui - el-table給單元格添加點擊事件

    el-table中,點擊版本號觸發(fā)查看配置功能,但是產品想將熱區(qū)擴大,從點擊版本號擴大到點擊整個單元格都可以查看。 在 el-table-column 中的 template 標簽里,添加一個 div元素 包裹版本號和el-tag,將點擊事件綁定在div元素上 :

    2024年02月12日
    瀏覽(27)
  • element-plus el-table 點擊單行修改背景色

    element-plus + el-table 點擊行選中并修改背景色+文字顏色 方法一: 重點: highlight-current-row element-plus 本身有給提供這個功能,而且比第二個方法更好用,第二個方法在有列固定的情況下,樣式會不生效,所以建議直接用第一種 方法二: 重點: @row-click :row-style

    2024年02月15日
    瀏覽(35)
  • vue2&vue3 el-table實現整行拖拽排序功能(使用sortablejs插件)

    vue2&vue3 el-table實現整行拖拽排序功能(使用sortablejs插件)

    Vue3組件地址 Vue2組件地址 Vue2基于ElementUi再次封裝基礎組件文檔 vue3+ts基于Element-plus再次封裝基礎組件文檔

    2024年02月08日
    瀏覽(25)
  • 隨手記:使用sortable.js 實現element-ui el-table 表格上下拖拽排序

    需求場景: 表格可以實現上下拖拽row實現新排序 首先,安裝sortable.js ?引入表格排? 全局掛在組件 使用頁面引入 使用sortable.js表格一定要有唯一的row-key,一般綁定的是id,不然拖拽會不生效 data聲明 sortableContainer: null,為的是后面如果有需要可以做銷毀操作 ? 因為我這里是表

    2024年02月22日
    瀏覽(29)
  • el-table中點擊跳轉到詳情頁的兩種方法

    el-table中點擊跳轉到詳情頁的兩種方法

    跳轉的兩種寫法: 1.使用keep-alive使組件緩存,防止刷新時參數丟失 keep-alive 組件用于緩存和保持組件的狀態(tài),而不是路由參數。它可以在組件切換時保留組件的狀態(tài),從而避免重新渲染和加載數據。 keep-alive 主要用于提高頁面性能和用戶體驗,而不涉及路由參數的傳遞和保留。

    2024年02月10日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包