ElementUI的el-cascade希望限制显示的宽度?

新手上路,请多包涵

代码:

<el-cascader
          v-model="selectedScoreItems"
          :options="itemOptionList"
          :props="props"
          @change="handleScoreItemChange"
        >
          <template
            slot="default"
            slot-scope="{ data }"
          >
            <el-tooltip
              :disabled="data.label.length < 15"
              class="cascader-item"
              effect="dark"
              :content="data.label"
              placement="top-start"
            >
              <span>{{ data.label }}</span>
            </el-tooltip>
          </template>
        </el-cascader>

按照网上的方法设置了css样式

.el-cascader-node {
  max-width: 250px;
}

但是不起作用,不知道是什么原因

阅读 2.3k
avatarAI BotBETA

ElementUI 的 el-cascader 组件在默认情况下不会限制每一个选项的宽度。你看到的 max-width 在 CSS 中不起作用的原因可能是因为你没有指定该 max-width 应用于具体的元素,或者可能 el-cascader-node 类的内部元素已经超出了你设定的 max-width

要解决这个问题,你可以试试以下方法:

  1. 确定你的 CSS 规则是否正确应用到了期望的元素。你可以通过审查元素在浏览器的开发者工具中查看元素的类名或者ID,然后确保你的 CSS 选择器是正确的。
  2. 尝试使用更具体的 CSS 选择器,或者添加一个额外的类或ID到 el-cascader 组件或其父元素以更好地定位你的目标元素。
  3. 如果你的 el-cascader 组件内部使用了 flex 布局,那么你可能需要使用 flex-wrap: wrap 或者 flex-basis: 250px(如果你想要的宽度是250px)这样的属性来确保你的元素不会超出设定的宽度。
  4. 如果你的 el-cascader 组件内部使用了 grid 布局,那么你可能需要使用 max-content 来限制元素的宽度。

请注意,由于我不知道你的完整代码和样式设置,以上的建议可能需要你自行进行一些调整以适应你的具体情况。

2 个回答

通过这个 slot 做的吧?
image.png

<span>{{ data.label }}</span> 这里应该是截断或者省略号。不然不就全展示了嘛?

官网提供了popper-class属性,可以自定义css修改样式。
image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题