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

使用<style scoped>导致的样式问题

问题描述:

今天使用开源组件库TDesign的自动补全组件时,遇到了一个样式失效问题,一开始怎么也找不到问题出在哪,后面一个偶然去掉了scoped,竟然发现样式竟然正常了,具体原因不知道在哪,有大佬知道请留言,不甚感激!!

代码是这样的

<template>
  <t-space direction="vertical" class="t-demo-autocomplete-option">
    <!-- 使用 options 自定义下拉选项 -->
    <t-auto-complete
      v-model="value1"
      :options="options1"
      :popupProps="{ overlayClassName: 't-demo-autocomplete-option-list' }"
      placeholder="使用属性自定义联想词选项内容"
    />

    <!-- 使用插槽自定义下拉选项 -->
    <t-auto-complete
      v-model="value2"
      :options="options2"
      :popupProps="{ overlayClassName: 't-demo-autocomplete-option-list' }"
      placeholder="使用插槽自定义联想词选项内容"
    >
      <template #option="{ option }">
        <div class="custom-option">
          <img :src="option.avatar" />
          <div class="custom-option__main">
            <!-- highlightKeyword -->
            <t-highlight-option :content="option.text" :keyword="value2" />
            <small class="description">{{ option.description }}</small>
          </div>
        </div>
      </template>
    </t-auto-complete>
  </t-space>
</template>

<!-- lang="jsx" 重要  -->
<script lang="jsx">
import { HighlightOption } from 'tdesign-vue';

const TEXTS = ['第一个默认联想词', '第二个默认联想词', '第三个默认联想词'];

export default {
  name: 'AutoCompleteOption',

  components: {
    THighlightOption: HighlightOption,
  },

  data() {
    return {
      value1: '',
      value2: '',
      options2: [
        {
          label: '第一个默认联想词',
          description: '这是关于联想词的描述。使用插槽渲染',
          avatar: 'https://tdesign.gtimg.com/site/avatar.jpg',
        },
        {
          label: '第二个默认联想词',
          description: '这是关于联想词的描述。使用插槽渲染',
          avatar: 'https://tdesign.gtimg.com/site/avatar.jpg',
        },
        {
          label: '第三个默认联想词',
          description: '这是关于联想词的描述。使用插槽渲染',
          avatar: 'https://tdesign.gtimg.com/site/avatar.jpg',
        },
      ],
      timer: null,
    };
  },

  computed: {
    options1() {
      return TEXTS.map((text) => ({
        text,
        label: () => (
          <div class="custom-option">
            <img src="https://tdesign.gtimg.com/site/avatar.jpg" />
            <div class="custom-option__main">
              <t-highlight-option content={text} keyword={this.value1} />
              <small class="description">这是关于联想词的描述,使用 Props 属性渲染</small>
            </div>
          </div>
        ),
      }));
    },
  },
};
</script>

<style>
.t-demo-autocomplete-option-list .t-select-option {
  height: 50px;
}

.t-demo-autocomplete-option-list .custom-option {
  display: flex;
  align-items: center;
}

.t-demo-autocomplete-option-list .custom-option > img {
  max-height: 40px;
  border-radius: 50%;
}

.t-demo-autocomplete-option-list .custom-option__main {
  margin-left: 8px;
}

.t-demo-autocomplete-option-list .custom-option .description {
  color: var(--td-gray-color-9);
}
</style>

正常展示是这样
在这里插入图片描述
但是加了scoped就成这样
在这里插入图片描述
检擦样式发现,加了scoped后,
.t-demo-autocomplete-option-list .t-select-option { height: 50px; }
这段样式就失效了,这是为啥???求大佬解答。。。


http://www.kler.cn/a/1484.html

相关文章:

  • 比较procfs 、 sysctl和Netlink
  • (概率论)无偏估计
  • 基于YOLO5的机械臂视觉抓取实现
  • 从Linux本地软件存储库安装MySQL
  • 外驱功率管电流型PWM控制芯片CRE6281B1
  • 科普CMOS传感器的工作原理及特点
  • Shader基础
  • http,web问题总汇
  • 好不容易约来了一位程序员来面试,结果人家不做笔试题
  • 最快方法求最长上升子序列(LIS)+最长公共子序列(LCS)模板(C/C++)
  • 【Pytorch】Tensor的分块、变形、排序、极值与in-place操作
  • 【Java】面向对象三大基本特征
  • docker版jxTMS使用指南
  • 【MySQL】数据类型
  • EEPROM芯片(24c02)使用详解(I2C通信时序分析、操作源码分析、原理图分析)
  • 【LeetCode】1609. 奇偶树、1122. 数组的相对排序
  • 【C语言进阶】内存函数
  • Linux IPC:管道符的实现
  • 数据大放送之历史影像下载
  • SpringCloud微服务技术栈.黑马跟学(三)
  • Python04 数据序列-字符串
  • 动态规划-基础(斐波那契数、爬楼梯、使用最小花费爬楼梯、不同路径、不同路径II、整数拆分、不同的二叉搜索树)
  • Leetcode 6322. 检查骑士巡视方案 暴力模拟法 第337场周赛,第二题
  • Java学习星球,Java学习路线
  • 【数据结构】第三站:单链表
  • C语言实现单链表(超多配图,这下不得不学会单链表了)