target/classes/static/plugins/element-ui/packages/cascader-panel/src/cascader-menu.vue
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<script>
import ElScrollbar from 'element-ui/packages/scrollbar';
import CascaderNode from './cascader-node.vue';
import Locale from 'element-ui/src/mixins/locale';
import { generateId } from 'element-ui/src/utils/util';
export default {
name: 'ElCascaderMenu',
mixins: [Locale],
inject: ['panel'],
components: {
ElScrollbar,
CascaderNode
},
props: {
nodes: {
type: Array,
required: true
},
index: Number
},
data() {
return {
activeNode: null,
hoverTimer: null,
id: generateId()
};
},
computed: {
isEmpty() {
return !this.nodes.length;
},
menuId() {
return `cascader-menu-${this.id}-${this.index}`;
}
},
methods: {
handleExpand(e) {
this.activeNode = e.target;
},
handleMouseMove(e) {
const { activeNode, hoverTimer } = this;
const { hoverZone } = this.$refs;
if (!activeNode || !hoverZone) return;
if (activeNode.contains(e.target)) {
clearTimeout(hoverTimer);
const { left } = this.$el.getBoundingClientRect();
const startX = e.clientX - left;
const { offsetWidth, offsetHeight } = this.$el;
const top = activeNode.offsetTop;
后面还有 78 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
