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

dns 国外网站谷歌优化是什么意思

dns 国外网站,谷歌优化是什么意思,wordpress 上传安装不了,做饼干的网站前言 近期产品需求&#xff1a;Vue2移动端项目需要在switch开关内显示文字&#xff0c;看Vantui没有对应功能&#xff0c;因此自己手撸写了这个组件。 一、最终效果 二、参数配置 1、代码示例&#xff1a; <t-switch v-model"check"/>2、配置参数&#xff08;…

前言

近期产品需求:Vue2移动端项目需要在switch开关内显示文字,看Vantui没有对应功能,因此自己手撸写了这个组件。

一、最终效果

在这里插入图片描述

二、参数配置

1、代码示例:

 <t-switch v-model="check"/>

2、配置参数(t-switch Attributes)

参数说明类型默认值
v-model绑定值boolean / string / number
disabled是否禁用booleanfalse
widthswitch 的宽度(像素)number55
active-icon-classswitch 打开时所显示图标的类名,设置此项会忽略 active-textstring
inactive-icon-classswitch 关闭时所显示图标的类名,设置此项会忽略 inactive-textstring
active-textswitch 打开时的文字描述string
inactive-textswitch 关闭时的文字描述string
active-valueswitch 打开时的值boolean / string / numbertrue
inactive-valueswitch 关闭时的值boolean / string / numberfalse
active-colorswitch 打开时的背景色string#2b73bb
inactive-colorswitch 关闭时的背景色string#ccc
nameswitch 对应的 name 属性string

3、events 事件

事件名称说明回调参数
changeswitch 状态发生变化时的回调函数新状态的值

三、源码

<template><divclass="t-switch":class="{ 'is-disabled': switchDisabled, 'is-checked': checked }"role="switch":aria-checked="checked":aria-disabled="switchDisabled"@click.prevent="switchValue"><inputclass="t-switch__input"type="checkbox"@change="handleChange"ref="input":id="id":name="name":true-value="activeValue":false-value="inactiveValue":disabled="switchDisabled"@keydown.enter="switchValue"/><span:class="['t-switch__label', 't-switch__label--left', !checked ? 'is-active' : '']"v-if="inactiveIconClass || inactiveText"><i :class="[inactiveIconClass]" v-if="inactiveIconClass"></i><span v-if="!inactiveIconClass && inactiveText" :aria-hidden="checked">{{ inactiveText }}</span></span><span class="t-switch__core" ref="core" :style="{ 'width': coreWidth + 'px' }"></span><span:class="['t-switch__label', 't-switch__label--right', checked ? 'is-active' : '']"v-if="activeIconClass || activeText"><i :class="[activeIconClass]" v-if="activeIconClass"></i><span v-if="!activeIconClass && activeText" :aria-hidden="!checked">{{ activeText }}</span></span></div>
</template>
<script>export default {name: 'TSwitch',props: {value: {type: [Boolean, String, Number],default: false},disabled: {type: Boolean,default: false},width: {type: Number,default: 55},activeIconClass: {type: String,default: ''},inactiveIconClass: {type: String,default: ''},activeText: String,inactiveText: String,activeColor: {type: String,default: '#2b73bb'},inactiveColor: {type: String,default: '#ccc'},activeValue: {type: [Boolean, String, Number],default: true},inactiveValue: {type: [Boolean, String, Number],default: false},name: {type: String,default: ''},id: String},data() {return {coreWidth: this.width};},created() {if (!~[this.activeValue, this.inactiveValue].indexOf(this.value)) {this.$emit('input', this.inactiveValue);}},computed: {checked() {return this.value === this.activeValue;},switchDisabled() {return this.disabled}},watch: {checked() {this.$refs.input.checked = this.checked;if (this.activeColor || this.inactiveColor) {this.setBackgroundColor();}}},methods: {handleChange(event) {const val = this.checked ? this.inactiveValue : this.activeValue;this.$emit('input', val);this.$emit('change', val);this.$nextTick(() => {if (this.$refs.input) {this.$refs.input.checked = this.checked;}});},setBackgroundColor() {let newColor = this.checked ? this.activeColor : this.inactiveColor;this.$refs.core.style.borderColor = newColor;this.$refs.core.style.backgroundColor = newColor;},switchValue() {!this.switchDisabled && this.handleChange();}},mounted() {/* istanbul ignore if */this.coreWidth = this.width || 40;if (this.activeColor || this.inactiveColor) {this.setBackgroundColor();}this.$refs.input.checked = this.checked;this.$refs['input'].focus()}
};
</script>
<style lang="scss" scoped>
.t-switch {display: -webkit-inline-box;display: -ms-inline-flexbox;display: inline-flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;position: relative;font-size: 14px;height: 22px;vertical-align: middle;&.is-disabled {opacity: 0.6;.t-switch__core,.t-switch__label {cursor: not-allowed;}}&.is-checked {.t-switch__core {&::after {left: 100%;margin-left: -19px;}}}.label-fade-enter,.label-fade-leave-active {opacity: 0;}.t-switch__label {margin: 0;position: absolute;display: none;color: #fff;&.is-active {display: inline-block;color: #fff;}* {line-height: 1;font-size: 14px;display: inline-block;}}.t-switch__label--left {right: 5px;z-index: 9;}.t-switch__label--right {left: 5px;z-index: 9;}.t-switch__input {position: absolute;width: 0;height: 0;opacity: 0;margin: 0;}.t-switch__core {margin: 0;position: relative;width: 40px;height: 22px;border: 1px solid #dcdfe6;outline: 0;border-radius: 10px;-webkit-box-sizing: border-box;box-sizing: border-box;background: #dcdfe6;-webkit-transition: border-color 0.3s, background-color 0.3s;transition: border-color 0.3s, background-color 0.3s;&:after {content: "";position: absolute;top: 1px;left: 1px;border-radius: 100%;-webkit-transition: all 0.3s;transition: all 0.3s;width: 18px;height: 18px;background-color: #fff;}}
}
</style>

相关文章

基于ElementUi再次封装基础组件文档


基于ant-design-vue再次封装基础组件文档


vue3+ts基于Element-plus再次封装基础组件文档

http://www.dinnco.com/news/33944.html

相关文章:

  • 成都的网站建设开发公司磁力屋torrentkitty
  • 少儿编程网站seo网站关键词排名快速
  • 网站建设阶段垂直搜索引擎
  • 用visual做的网站百度网址收录提交入口
  • 网站建设哪里优化大师有必要花钱吗
  • 教程建设网站2022年seo还值得做吗
  • 做企业评价的有哪些网站高端网站建设的公司
  • 网站公司排行榜前十名网络营销是网上销售吗
  • 青岛公司做网站免费广告投放平台
  • 做二手钢结构网站免费培训机构管理系统
  • 检察院内部网站升级建设网站营销网站营销推广
  • 学校学院网站建设目标网络营销活动推广方式
  • 广州开发网站技术支持广告商对接平台
  • 只做网站的人员工资站长工具查询域名
  • 网站公司怎么做运营seo指什么
  • 微网站开发系统百度竞价广告怎么收费
  • 北仑做网站品牌推广方案包括哪些
  • 京东客网站怎么做如何优化网页加载速度
  • 上海资本公司排名seo搜索引擎优化就业指导
  • 微信公众号小程序是什么济南网站优化排名
  • 日本专门做恋足的网站seo搜索优化工程师招聘
  • 专门做正品的网站免费的行情网站app软件
  • 号号网站开发关键词优化排名软件流量词
  • 潍坊专业人员继续教育seo sem
  • 建网站外贸如何做网站推广
  • 衡阳市做网站模板建站流程
  • 网站如何做https搜索引擎优化心得体会
  • 网站关键词的选择什么是网络营销工具
  • 哪个网站可以做微信引导图微博推广技巧
  • 网站建设推广文案阿里巴巴国际站运营