ant-design-vue 中的table某列修改风格

4 篇文章 0 订阅

1)一个checkboxgroup 希望把打勾变成打叉;

找到效果位置,查看是通过动画旋转实现的打勾,实际把一个直角∟通过旋转偏移实现✔效果;

.ant-checkbox-checked .ant-checkbox-inner::after {
  border: 2px solid #fff;  //显示边框部分
  border-top-width: 2px;
  border-top-style: solid;
  border-top-color: rgb(255, 255, 255);
  border-left-width: 2px;
  border-left-style: solid;
  border-left-color: rgb(255, 255, 255);
  border-left: 0;
  border-top: 0;
  content: " ";
  display: table;
  opacity: 1;
  position: absolute;
  transform: rotate(45deg) scale(1) translate(-50%,-50%); //旋转偏移
  transition: all .2s cubic-bezier(.12,.4,.29,1.46) .1s;  //动画效果 
}

2)看到上面conent留空,直接在浏览器调试里面尝试,并设置颜色,关闭动画可行;

打叉用X表示;

:deep(.ant-checkbox-checked) .ant-checkbox-inner::after {
    border: none;
    border-left: 0;
    border-top: 0;
    content: "X";
    display: table;
    height: 9.14285714px;
    left: 21.5%;
    opacity: 5;
    position: absolute;
    top: 40%;
    transform: translate(0, -50%);
    transition: none;
    width: 5.71428571px;
    color: white;
}

3)由于部分页面还需要原来的✔效果,所以只对特定控件生效;

3.1)通过设置id号,用id来做选择器;

#xxxcheckgroup :deep(.ant-checkbox-checked) .ant-checkbox-inner::after {
....
}

3.2)对于table中的控件处理;

table中有2列有checkboxgroup,一列要生效一列用原来的效果;

3.2.1)用简单的方法,在父组件上添加一个class,效果为空,然后选择其子元素;

html:

<div class="p-checkbox-group">
    <a-checkbox-group  v-model:value="record" :options="Options" />
</div>


style:

.p-checkbox-group {}


.p-checkbox-group :deep(.ant-checkbox-checked) .ant-checkbox-inner::after {
...
}

3.2.2用table中的列选择,此处5为第五列;

:deep(tbody>tr>td:nth-child(5) .ant-checkbox-checked) .ant-checkbox-inner::after {
...
}

嗯,css不是很熟悉,搞了好久。

Ant Design VueTable组件通常用于展示数据表,并且支持通过点击某一行插入一个新的详情行。这通常涉及到表格的“编辑”或“详情查看”功能,可以分为以下几个步骤: 1. 安装依赖:首先确保已经安装了`@ant-design/vue-table`库。 2. 设置表头:在`<a-table>`标签内配置定义,包括是否显示编辑按钮(如操作),例如添加`editable`属性。 ```html <a-table :columns="columns" :data="tableData" :editable="{ type: 'cell', onCell: handleEditCell }"> ... </a-table> ``` 3. 编辑函数:定义`handleEditCell`函数,当用户点击编辑按钮时,会在这个函数里处理细节操作,比如打开新的模态框展示详情或允许用户输入新数据。 ```javascript methods: { handleEditCell(record) { // 打开编辑模态或跳转到详情页面 this.$router.push({ name: 'detail', params: { id: record.id } }); } } ``` 4. 插入详情页:创建一个新的路由组件`Detail.vue`或弹出式模态组件,用于显示或编辑详细的记录信息。 5. 返回或保存编辑:在详情页或模态完成编辑后,用户可以选择返回并更新原数据,这时需要将修改的数据传递回`tableData`数组。 请注意,以上代码示例简略,实际项目可能还需要处理更多复杂情况,例如使用Form组件收集用户输入、校验数据等。如果你需要在插入详情行后立即显示,可以考虑在`handleEditCell`直接合并数据,而不是新开页面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值