小需求:(vue2) 判断el-table某一行某一格里面是否包含‘百度‘两个字,如果包含,点击‘百度‘两个字跳转到‘百度‘页面,并给‘百度‘两个字加蓝色颜色

代码实现:

 <template>
  <el-table :data="tableData" style="width: 100%">
    <el-table-column label="操作">
      <template slot-scope="scope">
        <!-- 使用 v-html 来渲染可能包含 HTML 的内容 -->
        <div v-html="handleText(scope.row.content)"></div>
      </template>   
    </el-table-column>
  </el-table>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { content: '你好百度!' },
        { content: '你好程序员!' }
      ]
    };
  },
  methods: {
    handleText(text) {
      // 使用正则表达式查找“百度”并包装成蓝色链接
      const regex = /百度/g;
      return text.replace(regex, (match) => `<a href="https//www.baidu.com" target="_blank" style="color:blue;text-decoration:underline">${match}</a>`);
    }
  }
};
</script>

代码解释:
文本处理:`handleText` 方法中,使用正则表达式查找所有“百度”的出现,并将其替换为一个带有 `style="color: blue;"` 的链接。这样,点击的链接文本“百度”将显示为蓝色。

这样设置后,表格中的“百度”文字将显示为蓝色,并且点击时会打开新的标签页跳转到百度首页。

要实现点击el-table中的某一行后改变该行的颜色,你可以使用Vue的事件处理和样式绑定。 首先,你需要为el-table的每一行添加一个点击事件处理方法。在该方法中,你可以改变该行的颜色。可以在每一行的template中添加@click事件监听器,例如: ```html <el-table v-for="item in tableData" :key="item.id" :data="tableData"> <el-table-column prop="name" label="Name"></el-table-column> <el-table-column prop="age" label="Age"></el-table-column> <!-- 其他列 --> <el-table-column label="操作"> <template slot-scope="scope"> <el-button @click="changeRowColor(scope.row)">改变颜色</el-button> </template> </el-table-column> </el-table> ``` 然后,在Vue实例中定义changeRowColor方法来改变行的颜色。你可以使用一个data属性来记录当前选中的行的索引或其他标识符,然后在样式绑定中根据该属性来设置行的颜色。例如: ```javascript data() { return { tableData: [...], // 表格数据 selectedRowIndex: -1 // 记录选中的行索引,默认为-1 }; }, methods: { changeRowColor(row) { this.selectedRowIndex = row.$index; // 记录选中的行索引 } } ``` 最后,在el-table的行模板中使用样式绑定来根据选中的行索引来设置行的颜色。例如: ```html <el-table-row :style="{'background-color': selectedRowIndex === $index ? 'red' : ''}" > <!-- 行内容 --> </el-table-row> ``` 这样,当你点击"改变颜色"按钮时,对应行的背景色将会变为红色。你可以根据需要自行调整样式和更新逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值