当前位置: 首页 > news >正文

武汉行业门户网站建设seo顾问多少钱

武汉行业门户网站建设,seo顾问多少钱,hk网站域名,深圳公司排名前50数字范围组件 在做筛选时可能会出现数字范围的筛选,例如:价格、面积,但是elementUI本身没有自带的数字范围组件,于是进行了简单的封装,不足可自行进行优化 满足功能: 最小值与最大值的相关约束&#xff0…

数字范围组件

在这里插入图片描述

在做筛选时可能会出现数字范围的筛选,例如:价格、面积,但是elementUI本身没有自带的数字范围组件,于是进行了简单的封装,不足可自行进行优化

满足功能:

  1. 最小值与最大值的相关约束,当最大值存在,最小值大于最大值且失焦,自动将最小值赋值为最大值,反之亦然。
  2. 拥有el-input组件本身的属性绑定以及方法
  3. 可设置精度,默认精度为0
  4. 可使用el-input插槽,但需要加前缀start-end-进行区分
<numberRange :startValue.sync="startValue" :endValue.sync="endValue" />

相关代码:

<template><div class="input-number-range" :class="{ 'is-disabled': disabled }"><div class="flex"><el-inputref="inputFromRef"clearablev-model="startValue":disabled="disabled":placeholder="startPlaceholder"@blur="handleBlurFrom"@focus="handleFocusFrom"@input="handleInputFrom"@change="handleInputChangeFrom"v-bind="$attrs"v-on="$listeners"><template v-for="(value, name) in startSlots" #[name]="slotData"><slot :name="name" v-bind="slotData || {}"></slot></template></el-input><div class="center"><span></span></div><el-inputref="inputToRef"clearablev-model="endValue":disabled="disabled":placeholder="endPlaceholder"@blur="handleBlurTo"@focus="handleFocusTo"@input="handleInputTo"@change="handleInputChangeTo"v-bind="$attrs"v-on="$listeners"><template v-for="(value, name) in endSlots" #[name]="slotData"><slot :name="name" v-bind="slotData || {}"></slot></template></el-input></div></div>
</template><script>
export default {name: "InputNumberRange",props: {// inputs: {//   type: Array,//   required: true,//   default: () => [null, null],// },startValue: {type: Number || String,default: null,},endValue: {typeof: Number || String,default: null,},// 是否禁用disabled: {type: Boolean,default: false,},startPlaceholder: {type: String,default: "最小值",},endPlaceholder: {type: String,default: "最大值",},// 精度参数precision: {type: Number,default: 0,validator(val) {return val >= 0 && val === parseInt(val, 10);},},},data() {return {};},computed: {startSlots() {const slots = {};Object.keys(this.$slots).forEach((name) => {if (name.startsWith("start-")) {const newKey = name.replace(/^start-/, "");slots[newKey] = this.$slots[name];}});return slots;},endSlots() {const slots = {};Object.keys(this.$slots).forEach((name) => {if (name.startsWith("end-")) {const newKey = name.replace(/^end-/, "");slots[newKey] = this.$slots[name];}});return slots;},},watch: {},methods: {handleInputFrom(value) {this.$emit("update:startValue", value);},handleInputTo(value) {this.$emit("update:endValue", value);},// from输入框change事件handleInputChangeFrom(value) {// 如果是非数字空返回nullif (value == "" || isNaN(value)) {this.$emit("update:startValue", null);return;}// 初始化数字精度const newStartValue = this.setPrecisionValue(value);// 如果from > to 将from值替换成toif (typeof newStartValue === "number" &&parseFloat(newStartValue) > parseFloat(this.endValue)) {this.startValue = this.endValue;} else {this.startValue = newStartValue;}if (this.startValue !== value) {this.$emit("update:startValue", this.startValue);}},// to输入框change事件handleInputChangeTo(value) {// 如果是非数字空返回nullif (value == "" || isNaN(value)) {this.$emit("update:endValue", null);return;}// 初始化数字精度const newEndValue = this.setPrecisionValue(value);// 如果from > to 将from值替换成toif (typeof newEndValue === "number" &&parseFloat(newEndValue) < parseFloat(this.startValue)) {this.endValue = this.startValue;} else {this.endValue = newEndValue;}if (this.endValue !== value) {this.$emit("update:endValue", this.endValue);}},handleBlurFrom(event) {this.$emit("blur-from", event);},handleFocusFrom(event) {this.$emit("focus-from", event);},handleBlurTo(event) {this.$emit("blur-to", event);},handleFocusTo(event) {this.$emit("focus-to", event);},// 根据精度保留数字toPrecision(num, precision) {if (precision === undefined) precision = 0;return parseFloat(Math.round(num * Math.pow(10, precision)) / Math.pow(10, precision));},// 设置精度setPrecisionValue(value) {if (this.precision === undefined) return value;return this.toPrecision(parseFloat(value), this.precision);},},
};
</script><style lang="scss" scoped>
// 取消element原有的input框样式
::v-deep .el-input__inner {border: 0px;margin: 0;padding: 0 15px;background-color: transparent;
}
.input-number-range {background-color: #fff;border: 1px solid #dcdfe6;border-radius: 4px;
}
.flex {display: flex;flex-direction: row;width: 100%;height: auto;justify-content: center;align-items: center;.center {margin-top: 1px;}
}
.is-disabled {background-color: #f5f7fa;border-color: #e4e7ed;color: #c0c4cc;cursor: not-allowed;
}
</style>
http://www.dt0577.cn/news/34122.html

相关文章:

  • 搜索类的网站优点网络营销环境分析
  • 自己在哪里做网站今日关键词
  • 企业网站建设及运营现状分析提高工作效率英语
  • jsp做的求职招聘网站百度云最快新闻资讯在哪看
  • j昆明网站制作公司百度指数电脑版
  • 购物网站seo湖南关键词优化快速
  • 北京建设银行官方网站百度指数数据分析
  • 门户网站模板图片谈谈对seo的理解
  • 比较好的app创意想法seo关键词优化服务
  • 织梦app网站模板广告做到百度第一页
  • wordpress默认原始图片seo站长工具查询
  • 自己创建网站要钱吗产品市场推广计划书
  • 开发一个网站需要哪些技术百度最新版app下载安装
  • 如何做钓鱼网站品牌运营总监
  • 建设网站的傻瓜图文指南关键词分类哪八种
  • wordpress 显示p标签企业网站推广优化公司
  • 网站设计套餐企业网站优化服务
  • 做澳洲外贸的网站有哪些投放广告的网站
  • 网络空间测绘seo一键优化
  • 济南平面设计公司前十名盐城seo网站优化软件
  • 电子商务网站软件建设的核心如何做seo整站优化
  • wordpress 网站很慢宣传推广计划怎么写
  • 网站官网设计规范网络广告销售
  • 珠海集团网站建设外包网站推广优化方案
  • 当前网站开发用什么软件河北seo基础
  • 天津门户网站建设爱站网关键词排名
  • 深圳南山做网站的公司百度推广后台登录入口
  • 自己做的网站维护一年多少钱怎样进行seo推广
  • 手机网站你了解的北京口碑最好的it培训机构
  • 淘宝联盟+做网站seo营销推广全程实例