今天遇到了一个需求,修改element-ui的时间组件,将分钟和秒钟改成30为一个间隔,而不是1一个间隔

文章介绍了如何修改Element-UI的时间选择组件,使其分钟和秒钟间隔变为30,通过添加`custom-minute-step`和`custom-second-step`属性来实现。示例代码展示了在Vue.js中直接使用和封装为自定义组件的两种方法。
摘要由CSDN通过智能技术生成

今天遇到了一个任务,修改element-ui的时间组件,将分钟和秒钟改成30为一个间隔,而不是1一个间隔

如何修改element-ui的时间组件

第一步:下载两个依赖包

第一个
npm  i element-ui@2.15.13  --save 
还需要再下载一个
npm i date-time-picker-pro@1.0.2 --save

第二步: 在页面上直接使用时间组件

 <date-time-picker-pro
    v-model="datetime" //-->这个是数据双向绑定的时间数据.可以做回显用
    @change="send"   //--> 这个是时间改变触发的事件
    type="datetimerange" // --> 这个是时间类型
    :default-time="['09:00:00', '19:00:00']" //--> 这个是设置的默认值
    :custom-minute-step="30" //--> 分钟的间隔调整
    :custom-second-step="30" //--> 这个是秒钟的间隔调整
    range-separator="至"
    start-placeholder="开始日期"
    end-placeholder="结束日期"
    value-format="yyyy/MM/dd HH:mm:ss"
    format="yyyy/MM/dd HH:mm:ss"
  ></date-time-picker-pro>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cpBl8SzQ-1685092956409)(时间组件说明.assets/image-20230526171243017.png)]

未封转直接使用的完整的代码:


<template>
  <div>
    <date-time-picker-pro
      v-model="multipleDateTime"
      type="datetimerange"
      :default-time="['09:00:00', '19:00:00']"
      :custom-minute-step="30"
      :custom-second-step="30"
      range-separator="至"
      start-placeholder="开始日期"
      end-placeholder="结束日期"
      value-format="yyyy/MM/dd HH:mm:ss"
      format="yyyy/MM/dd HH:mm:ss"
    ></date-time-picker-pro>
    <el-button type="primary" @click="fn">主要按钮</el-button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      multipleDateTime: ["2022/03/05 12:30:30", "2023/05/25 14:00:00"],
    };
  },
  methods: {
    fn() {
      alert(this.multipleDateTime);
    },
  },
};
</script>

封转成一个组件在使用的完整代码

时间组件的代码

//时间组件的代码:
<template>
  <date-time-picker-pro
    v-model="datetime"
    @change="send"
    type="datetimerange"
    :default-time="['09:00:00', '19:00:00']"
    :custom-minute-step="30"
    :custom-second-step="30"
    range-separator="至"
    start-placeholder="开始日期"
    end-placeholder="结束日期"
    value-format="yyyy/MM/dd HH:mm:ss"
    format="yyyy/MM/dd HH:mm:ss"
  ></date-time-picker-pro>
</template>

<script>
export default {
  props: ["date"],
  data() {
    return {
      datetime: [],
    };
  },
  methods: {
    send() {
      this.$emit("dateTime", this.datetime);
    },
  },
  watch: {
    date: {
      deep: true,
      immediate: true,
      handler(n, o) {
        this.datetime = n;
      },
    },
  },
};
</script>

<style lang="less" scoped></style>

调用时间组件的代码:

<template>
  <div>
    //在页面上使用组件
    // date是数据双向绑定的值
    // rev是输入框的时间改变触发的方法函数
    <date :date="multipleDateTime" @dateTime="rev"></date>

  <el-button type="primary" @click="fn">获取输入框时间</el-button>
  </div>

</template>

<script>
      // 这个是引入时间组件
import date from './components/dateTime.vue'
  export default {
    components: {
      date,//挂载组件
    },
    data() {
      return {
       multipleDateTime: ['2022/03/05 12:30:30','2023/05/25 14:00:00'],
      };
    },
    methods: {
      rev(val) {
        this.multipleDateTime=val
      },
      fn(){
        console.log(this.multipleDateTime);
      }
    },
  }
</script>


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NB3dSnqB-1685092956410)(时间组件说明.assets/image-20230526170813443.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9x0eLs8G-1685092956411)(时间组件说明.assets/image-20230526170844448.png)]

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
好的,下面是实现模糊搜索的步骤: 1. 安装Element UI组件库 在Vue项目中使用Element UI组件库需要先安装它,可以使用npm或yarn命令进行安装。具体命令如下: 使用npm安装:`npm i element-ui -S` 使用yarn安装:`yarn add element-ui` 2. 引入Element UI组件Vue项目中需要使用Element UI组件,首先需要在main.js中引入Element UI组件。具体代码如下: ```javascript import Vue from 'vue' import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' Vue.use(ElementUI) ``` 3. 实现模糊搜索功能 在Vue组件的template标签中添加一个el-input组件和el-table组件,其中el-input组件用于输入关键词进行搜索,el-table组件用于显示搜索结果。具体代码如下: ```html <template> <div> <!-- el-input组件 --> <el-input placeholder="请输入关键词" v-model="keyword" @input="handleSearch"></el-input> <!-- el-table组件 --> <el-table :data="tableData"> <el-table-column prop="name" label="姓名"></el-table-column> <el-table-column prop="age" label="年龄"></el-table-column> <el-table-column prop="gender" label="性别"></el-table-column> </el-table> </div> </template> ``` 在Vue组件的script标签中,定义data属性,其中包含tableData数组和keyword字符串。tableData数组用于存储搜索结果,keyword字符串用于存储搜索关键字。同时,在methods中定义handleSearch方法,该方法用于实现模糊搜索功能。具体代码如下: ```javascript <script> export default { data() { return { tableData: [ { name: '张三', age: 18, gender: '男' }, { name: '李四', age: 20, gender: '女' }, { name: '王五', age: 22, gender: '男' }, ], keyword: '' } }, methods: { handleSearch() { if (!this.keyword) { // 如果keyword为空,显示所有数据 this.tableData = [ { name: '张三', age: 18, gender: '男' }, { name: '李四', age: 20, gender: '女' }, { name: '王五', age: 22, gender: '男' }, ] } else { // 使用filter方法实现模糊搜索 this.tableData = this.tableData.filter(item => item.name.includes(this.keyword)) } } } } </script> ``` 以上代码实现了一个简单的模糊搜索功能,当在el-input组件中输入关键词时,el-table组件会根据关键词进行模糊搜索,并显示搜索结果。如果关键词为空,el-table组件会显示所有数据。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值