IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 怎么把element的tootip设置为点击后出现提示框,且在提示框里面放其他元素,vue2动态给对象添加属性并实现响应式应答,样式穿透 -> 正文阅读

[JavaScript知识库]怎么把element的tootip设置为点击后出现提示框,且在提示框里面放其他元素,vue2动态给对象添加属性并实现响应式应答,样式穿透

怎么把element的tootip设置为点击后出现提示框

我目前有一个需求,就是要点击文字才会出现提示框,而不是hover上去就以后,找资料看文档,看了半天让我终于实现了,其实也不难,可能是最开始我没有理解value(状态是否可见)的意思吧

value(状态是否可见):我们知道了这个就很简单啦,true就是提示框可见,false就是提示框不可以见,那么我们点击控制value并且打开手动模式就好啦,manual

value动态取值,控制显隐

要想在提示框里面放其他的东西就用slot插槽来做,<div slot="content">可以写任何东西</div>

<el-tooltip placement="bottom-end" manual :value='flag' >
  <div slot="content">
    <div>
      <el-input></el-input>
      <el-button >评论</el-button>
    </div>
  </div>
  <span @click="replyContent">
    {{ flag ? "取消" : "回复" }}
  </span>
</el-tooltip>
replyContent() {
 this.flag = !this.flag;
},

在这里插入图片描述

点击回复就会出现提示框,在点取消就没有了

在这里插入图片描述

最开始我是直接用的disabled属性来做的,但是我发现点击后需要重新把鼠标移上去才行,就又重新找方法了

vue2动态给对象添加属性并实现响应式应答

最近有一个需求,用的v-for循环数组渲染出来,但是呢,渲染中有用v-show,因为是循环所以一点击就全部隐藏的都显示了

这样肯定不行舍,所以我就准备利用,动态添加属性,来做显隐功能,随便点击一个,那么就给这一个添加一个新属性,这样就这有这一个有新属性,其他的没有,就会只显示这一个了,但是问题来了,我发现我添加了后就不能响应式刷新

这是什么原因呢?然后我想起,vue2直接添加属性是不会响应式刷新的,也不能数组下标也是没有被劫持的,然后我就去百度找,找到了解决办法

根据官方文档定义:如果在实例创建之后添加新的属性到实例上,它不会触发视图更新。

Vue 不允许在已经创建的实例上动态添加新的根级响应式属性 (root-level reactive property)。

然而它可以使用 Vue.set(object, key, value) 方法将响应属性添加到嵌套的对象上。

<template>
	<input type="button" @click="demoSet" value="name">
</template>
<script>
export default {
	data() {
		return {
			form:{
				id:1
			}
		}
	},
	methods:{
		demoSet(){
			// 这样设置是不行的
			this.form.amount=2;
			// 这样才可以实现响应式
			this.$set(this.form,"amount",2);
		}
	}
}
</script>

样式穿透

当我们用第三方UI库的时候,有时候想要改一改样式,但是又由于别人已经把样式封装好了,改不了,这时就需要用到样式穿透来改样式

比如我们现在想改一改element的时间选择器中间 至 的宽度,就可以这样改

<el-form-item label="时间" class="elselect">
  <el-date-picker
        v-model="searchModel.time"
        type="daterange"
        range-separator=""
        start-placeholder="开始日期"
        end-placeholder="结束日期">
    </el-date-picker>
</el-form-item>

elselect 是我们自己定义的class,el-range-separator 这是官方的class
现在我们用自己的样式去穿透官方就可以修改了

.elselect /deep/ .el-range-separator {
 width: 24px;
}
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-12-25 10:59:18  更:2022-12-25 11:04:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:21:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码