vue+element UI中给指定日期添加标记

1.日期控件中添加:picker-options属性,即:picker-options=“myPickerOptions”

  <el-date-picker
              :class="item.scds !=null ?'xtsjBlue':'xtsjRed'"
              v-model="item.date"
              value-format="yyyy-MM-dd"
              type="date"
              :picker-options="pickerOptions"
              placeholder="选择日期" @change="bsdsChange(item)">
            </el-date-picker>

2.在data中定义要标记的日期数组hasXtdsDate,及myPickerOptions处理逻辑,筛选出要标记的日期数组

hasXtdsDate:[],//要标记的数组
pickerOptions: {
              cellClassName: time => {
                const month = time.getMonth() + 1;
                const day = time.getDate();
                const val = time.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (day < 10 ? '0' + day : day);
                if (this.hasXtdsDate.indexOf(val) >= 0){
                  return 'hasXtdsDateClass';  //有系统读数的日期显示蓝色
                }else {
                  return 'noXtdsDateClass'   //没有系统读数的日期显示红色
                }

              }
            }

3.对要进行标记的日期进行数据筛选

 this.meterList = res.bcds
 res.bcds.forEach(o=>{
     o.taskId = row.id
     o.planId = row.planId
     o.industrialUserId = row.industrialUserId
   if(o.xtds !=null || o.xtds !=''){
     this.hasXtdsDate.push(o.date)
   }
   })

4.自定义日期标记的样式

<style lang="scss">
  .hasXtdsDateClass > div > span:after {
    content: "•";
    color: blue;
    bottom: -16px;
    position: absolute;
    font-size: 20px;
    left: 10px;
  }
.noXtdsDateClass > div > span:after {
  content: "•";
  color: red;
  bottom: -16px;
  position: absolute;
  font-size: 20px;
  left: 10px;
}
</style>

效果如下图:
在这里插入图片描述

Vue.js使用Element UI库实现一个简单的表格单元格编辑效果,可以按照以下步骤进行: 1. 首先确保已经安装并引入了Element UI库。如果还没有安装,可以通过npm或yarn进行安装。 2. 在Vue组件的模板创建一个表格,使用`<el-table>`和`<el-table-column>`标签定义表格和列。 3. 使用`<el-table-column>`的`edit-method`属性指定单元格的编辑方法。 4. 使用`<el-input>`组件在表格单元格内进行输入,当单元格处于编辑状态时显示。 下面是一个简单的示例代码: ```html <template> <el-table :data="tableData" style="width: 100%"> <el-table-column v-for="field in fields" :key="field.prop" :prop="field.prop" :label="field.label"> <template slot-scope="scope"> <el-input v-if="scope.row.editing" v-model="scope.row[field.prop]" @blur="saveEdit(scope)" ></el-input> <span v-else>{{ scope.row[field.prop] }}</span> </template> </el-table-column> </el-table> </template> <script> export default { data() { return { tableData: [{ date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }, { date: '2016-05-04', name: '王小虎', address: '上海市普陀区金沙江路 1517 弄' }, { date: '2016-05-01', name: '王小虎', address: '上海市普陀区金沙江路 1519 弄' }, { date: '2016-05-03', name: '王小虎', address: '上海市普陀区金沙江路 1516 弄' }], fields: [ { prop: 'date', label: '日期' }, { prop: 'name', label: '姓名' }, { prop: 'address', label: '地址' } ], editingRow: null } }, methods: { saveEdit(scope) { this.editingRow = null; console.log('save', scope.row); }, startEdit(row) { this.editingRow = row; } } } </script> ``` 在这个示例,我们定义了一个表格和一系列字段。每个单元格会根据当前行是否处于编辑状态来决定显示`el-input`组件还是内容本身。点击单元格时,`startEdit`方法会被调用,将当前行标记为编辑状态,并显示`el-input`。当编辑完成后,失去焦点时,会调用`saveEdit`方法保存更改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值